JavaScript控制图像动画?

Nie*_*sol 8 javascript animation image gif

我想在页面上有一个动画角色,为不同的行为设置不同的动画.我目前有两个关于它如何工作的想法:

IDEA 1:将每个行为都设置为动画GIF,并在切换行为时使用JavaScript切换GIF文件.好处:动画在图像本身,为JS留下较少的工作.缺点:我不知道(我知道)JavaScript可以告诉GIF在什么帧,动画结束/循环等等.

IDEA 2:将每个动画的每个帧都作为PNG图像并使用JS在帧之间切换,使用一些预加载器确保在动画开始之前所有图像都准备就绪.上升:对动画序列的更多控制.缺点:很多帧...

这两个想法中的哪一个会更好?(我想避免使用Flash,顺便说一句)
我自己倾向于想法2,因为它提供了更好的控制.由于该站点已经有一个每50ms运行一次的计时器,因此将该动画添加到该计时器系统并不会太多.

Loï*_*oix 13

我知道这是旧的,但我会给出选项3,这类似于选项2的一个扭曲.

您不必加载帧,而是必须加载一个包含所有帧的大型spritemap,并可能加载所有动画+坐标的地图.你可以使用正确的维度将精灵作为div的背景.您只需将背景图像移动到右侧框架即可.

您可以将所有事件放在不同的行上,并将每个动画帧放在不同的列上.这将使您可以轻松控制的网格.

  • 很好地控制动画和帧
  • 可能比在图像之间加载或切换更快
  • 您不必创建与服务器的多个连接即可加载所有动画
  • Png比gif给你更好的alpha结果

减去

  • 你必须自己处理所有的动画