Canvas Javascript循环混乱,为什么我的数组没有正确更新?(包括简易小提琴)

Canvas Javascript循环混乱,为什么我的数组没有正确更新?(包括简易小提琴),canvas,easeljs,Canvas,Easeljs,所以我开始尝试HTML5Canvas+easeljs,并做了一个简单的实验。它使圆圈垂直下落,当它们离开舞台时,应重置为0。一切都很好,但我的for循环检查圆的y位置似乎只获取最后一个值?我似乎不明白,我花了这么多时间添加/删除,这已经有4个小时了,我非常沮丧 我包括一把小提琴作为参考,它显示了问题: 谢谢你的关注 当你写作时 theParticle.graphics.beginFill("blue") .drawCircle(getRandomArbitary(0, stageH), ge

所以我开始尝试HTML5Canvas+easeljs,并做了一个简单的实验。它使圆圈垂直下落,当它们离开舞台时,应重置为0。一切都很好,但我的for循环检查圆的y位置似乎只获取最后一个值?我似乎不明白,我花了这么多时间添加/删除,这已经有4个小时了,我非常沮丧

我包括一把小提琴作为参考,它显示了问题:

谢谢你的关注

当你写作时

theParticle.graphics.beginFill("blue")
  .drawCircle(getRandomArbitary(0, stageH), getRandomArbitary(0, stageW), particleSize);
您正在创建一个位于0,0的形状,其中在随机位置绘制一个蓝点

因此,有效地将3个形状从位置0,0向下移动到画布底部,并仅在该点将它们重置为0,0

您应该将粒子的x和y设置为随机位置,而不是点的x和y

编辑:


太棒了,谢谢!我刚把它修好,我想我得研究更多关于物体的东西。再次感谢。如果我的答案能解决您的问题,请将其标记为正确。
theParticle.graphics.beginFill("blue").drawCircle(0, 0, particleSize);
theParticle.x = getRandomArbitary(0, stageH);
theParticle.y = getRandomArbitary(0, stageW);