如何在 HTML / Javascript 的单个文件中使用 PNG 序列?

Posted

技术标签:

【中文标题】如何在 HTML / Javascript 的单个文件中使用 PNG 序列?【英文标题】:How to use the PNG sequence in a single file in HTML / Javascript? 【发布时间】:2021-10-02 07:25:03 【问题描述】:

我注意到 PNG 序列文件要么是多个文件,要么是包含所有序列的单个文件。我无法弄清楚这两种类型的序列是否具有不同的名称(如果是,这些名称是什么)。此外,我尝试找出如何使用图像序列 j 一个像这里这样的单个文件

用于 html / javascript 动画。我想我需要一个在 png 文件(剪辑路径)上移动的 div,但我找不到任何示例。也许你知道一些?谢谢!

【问题讨论】:

你不想用那张图片制作一个 gif 吗? 感谢您的回答!可能是,这是实际的问题:包含多堆序列的此类文件的用途是什么。是否直接在 HTML 中使用(javascript、node、angular、css...)? 你的意思是:如何使用例如。 HTML中的GIF?通常:<img src="someImage.gif">。如果你这样使用它,它会正常动画。 不,我的意思是,如何在前端直接使用图像序列,不是 GIF,而是包含多个序列的 .png 文件。这有可能吗? 所以你不想要这样的东西:***.com/questions/22962329/… 吗? 【参考方案1】:

您也可以双向制作动画!这里有一篇很棒的文章 (https://medium.com/jspoint/creating-css-animations-using-sprite-sheet-47e2b7a3793c),但我已经为您的示例编辑了下面的代码。

div#cat 
    height: 256px;
    width: 512px;
    background-image: url("https://i.stack.imgur.com/kuEev.png"); /* width: 2048px; height: 512px; */
    animation: playX 0.5s steps(4) infinite, playY 1s steps(2) infinite; /* The seconds for playX should be the playY divided by the amount of rows */

@keyframes playX 
  from background-position-x: 0px;
  to background-position-x: -2048px;

@keyframes playY 
  from background-position-y: 0px;
  to background-position-y: -512px;
<div id="cat"></div>

【讨论】:

【参考方案2】:

抱歉,我只能水平(或垂直)制作动画。如果您将图像水平并排堆叠,那将是完美的。

.animatedImage 
  background-image: url(https://i.stack.imgur.com/kuEev.png);
  height: 300px;
  width: 500px;
  
  animation: png-animation 1s steps(3) forwards; /* To change speed of animation, change firs number; To include more images, change number in steps() */
  animation-iteration-count:infinite; /* Make animation never ends */


@keyframes png-animation 

  to 
    background-position: -1500px 0px;
  

<div class="animatedImage"></div>

【讨论】:

以上是关于如何在 HTML / Javascript 的单个文件中使用 PNG 序列?的主要内容,如果未能解决你的问题,请参考以下文章

如何从API调用中选择单个JavaScript对象/ JSON项目

如何在普通 javascript 文件中使用 mixins(不是单个文件模板)

使用 html 或 javascript 从精灵表中提取单个帧

如何在javascript中从多个数组中获取单个数组[重复]

如何在不复制数组的情况下返回 Javascript 中的数组减去单个项目? [复制]

如何设置单个表格单元格填充?