所以,我想创建几个圆形,然后让它们掉下来。这是代码和演示:演示 FireBug告诉我,未定义的对象没有定义方法“move”,因此在创建对象数组时肯定出了问题。请更正我的错误,并考虑到我刚开始学习JS中的面向对象编程。
所以,我想创建几个圆形,然后让它们掉下来。这是代码和演示:演示 FireBug告诉我,未定义的对象没有定义方法“move”,因此在创建对象数组时肯定出了问题。请更正我的错误,并考虑到我刚开始学习JS中的面向对象编程。
不要创建多个事件,创建一个事件并在其中循环:
setInterval(function(){
ctx.clearRect(0,0,1000,1000); //Clear the canvas here
for (i = 0;i<bubble.length;++i)
{
bubble[i].move();
bubble[i].redraw();
}
},32);
i
的值在所有执行事件中都为10。for (i = 0;i<bubble.length - 1; ++i)
{
console.log(bubble[i].y)
setInterval(function(){
bubble[i].move();
bubble[i].redraw();
},32);
}
bubble.length 是10,数组的索引是0-9。bubble[10] 是未定义的,因此您无法在其上调用move方法。
function move() { this.y+=4; }
- mic4ael