javascript - 处理旅行动画

标签 javascript animation dhtml

我正在研究拖钓鱼。鱼应该从两个方向游过屏幕。我有点难以理解如何设置阵列以便鱼可以游泳。我想的数组是这样的

Var fishPos = new Array
fishPos[0] = fish1
fishPos[1] = fish2
fishPos[2] = fish3

然后做鱼的功能..我真的不知道如何做动画鱼游泳...我正在尝试。如果我正在寻找的数组就是我刚刚在那里做的,我想我很受伤。谢谢。

好吧,这就是我到目前为止所拥有的,但仍然有问题,他们的鱼不会游泳......

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <title>Fish tank</title>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 <script type="text/javascript">
 // <![CDATA[
var fishPos = new Array(3);
var fishPos = 0; 
var direction; 
var begin; 
fishPos[0] = "fish1.gif"; 
fishPos[1] = "fish2.gif"; 
fishPos[2] = "fish3.gif";
  function fishSwim(fishNumber) {
  document.getElementById("fish"+fishNumber).style.left =  horizontal[fishPos[fishNumber]  + "px";
   ++fishPos[fishNumber];
   if (fishPos[fishNumber] == 49)
    fishPos[fishNumber] = 0;
    }
   function startSwimming() {
    setInterval(fish1Swim, 100);
   }
   // ]]>
   </script>
  </head>
  <body onload="startSwimming();">
   <p><span id="fish1" style=
  "position:absolute; left:10px; top:10px"><img src="fish1.gif" alt="Image of a fish"   /></span></p>
 <p><span id="fish2" style=
 "position:absolute; left:10px; top:120px"><img src="fish3.gif" alt="Image of a fish"  /></span></p>
   <p><span id="fish3" style=
   "position:absolute; left:10px; top:250px"><img src="fish2.gif" alt="Image of a fish" /></span></p>
   </body>
  </html>

最佳答案

你从错误的方向接近它。为了让您更轻松,您应该尝试使用动画插件,例如 http://www.spritely.net/ (需要 jQuery)。

如果你想自己制作它,你必须编写一个补间函数,它会在指定的时间内将你的对象从 A 点移动到 B 点,更改其动画帧,偏移其 Y 位置以给出这种鱼腥味/不稳定的运动效果等。创建位置数组并不是真正的正确方法。

在 Dev.Opera http://dev.opera.com/articles/view/javascript-animation/ 的这篇精彩文章中,您会发现很多关于如何开始创建自己的动画引擎的技巧。

如果您仅针对现代浏览器,您可以尝试使用 CSS3 动画 - 尽管这些动画尚未得到广泛支持。

关于javascript - 处理旅行动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5757157/

相关文章:

javascript - 将 HTML 文本设为粗体

javascript - 如何从 JavaScript 中的 dom 坐标点获取或创建选择或范围?

javascript - 从网站复制/粘贴时编辑剪贴板数据

jquery - 滚动 jquery 插件

ASP.NET/数据列表 : Client-side postback by clicking list elements

javascript - 如何从 meteor 方法正确返回响应和错误

javascript - 缩短显示的 URL,保留开头和结尾(Firebug 'Net' 面板样式)

JavaScript 单击可以在控制台中工作,但不能在 Selenium 中执行脚本

cocoa - 如何在显示模态表时禁用 Cocoa 的默认动画?

iOS - 动画背景图片 (GIF)