0

我正在尝试使用 Raphael 制作一个小游戏,只是想对我正在处理的一些代码提供一些建议。

这是我到目前为止所拥有的,它只是一个在屏幕上移动圆圈的简单示例:

<script type="text/javascript" charset="utf-8">
window.onload = function () {
  var paper = Raphael(10, 50, 320, 200);
  var paper = Raphael(document.getElementById("holder"), 320, 200);
  var paper = Raphael("holder", 320, 200);

  var startx = 30;
  var starty = 30;
  var ANIM_STEP = 5;

  var d = paper.circle(startx,starty,20);
  d.attr("fill", "blue");
  document.onkeyup = function (e) {
    var keyid = e.keyCode;

    switch (keyid)
    {
      // right arrow key
      case 39:
        startx += ANIM_STEP;
        d.cx = d.cx || startx ;
        d.animate({cx: d.cx}, startx);
      break;
    }
  }
};
</script>

现在,我遇到的当前问题是它仅在第一次单击右箭头键时动画。我验证了“startx”随着一些跟踪调试而增加。

我从 Raphael circle example开始,并从ichart中混入了一点,所以我的方式可能不是最好的......我期待你的建议 :)

4

1 回答 1

0

德欧

必须设置 d.cx = startx .... 有助于更新您的变量!

于 2009-10-22T11:56:46.600 回答