错误是: TypeError:错误#1010:术语未定义且没有properties.at Untitled_fla :: MainTimeline / cyclespeed()
答案 0 :(得分:0)
我没有足够的代表评论,所以我会批评我在你的代码中看到的内容。
代码有很多问题。
这被宣告了两次,一次是在for循环中,另一次是在函数之外
addEventListener(Event.ENTER_FRAME, cyclespeed);
您将“handleCollision”事件附加到舞台而不是动画片段。
handleCollision引用“cycle [i]”但是我超出了范围,因为它不是我声明的for循环的一部分
function handleCollision( e:Event) : void {
if(box_MC.hitTestObject(cycle[**i**])) {
trace ("true");
box_MC.x += 4;
}
}
我建议一次建造一件,因为看起来你似乎想要立刻做很多事,而实际上没有任何工作。
答案 1 :(得分:0)
cycle
Array有5个元素,以索引 0 开头,以 4 结尾:
...数组索引从零开始,这意味着数组中的第一个元素是[0],第二个元素是[1],依此类推。
for
循环应该是这样的:
for (var i:int = 0; i < 5; i++) { }
OR
for (var i:int = 0; i <= 4; i++) { }
或者只是
for (var i:int = 0; i < cycle.length; i++) { }
在cyclespeed
函数中,i
var的值始终为 5 ,这是{{1}中分配给它的最后一个值}}循环,当然for
不存在,这就是你得到cercle[5]
的原因:TypeError: Error #1010: A term is undefined and has no properties
未定义且没有cercle[5]
属性。
在您的情况下,您只能使用一个x
侦听器来执行以下所有工作:
Event.ENTER_FRAME
希望可以提供帮助。