我正在尝试使用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'会随着一些跟踪调试而增加。

我从拉斐尔圈子示例开始,并从 ichart ,所以我的方式可能不是最好的...我期待你的建议:)

有帮助吗?

解决方案

D'哦

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top