数组中的移动对象
|
我有一个到处都是应该移动的平台。
var MovingPlatformArray:Array = new Array();
for (var c:int = numChildren - 1; c >= 0; c--){
var child3:DisplayObject = getChildAt(c);
if (child3.name == \"movingplatform\"){
MovingPlatformArray.push(child3);
}
}
this.addEventListener(Event.ENTER_FRAME,ctrl_birdie);
function ctrl_birdie(e:Event):void{
for(var c in MovingPlatformArray){
MovingPlatform[c].y += speed;
if(MovingPlatformArray[c].hitTestPoint(birdie.x,birdie.y,true)){
birdtelleryvertrager=0;
birdtellery = 0;
birdie.y-=14;
}
if(movingplatform.y <= 25){
speed = 2;
}
if(movingplatform.y >= 350){
speed = -2;
}
}
现在,我在这个阵列中有2个移动平台。但是只有一个上下移动。但是他们都和小鸟保持了联系。难道我做错了什么?非常感谢帮助:)
没有找到相关结果
已邀请:
3 个回复
桔马牛
顺便说一句:\“ MovingPlatformArray [c] .y + = speed; \”应该不是\“ MovingPlatformArray [c] .y + = speed; \”吗? 编辑:查看您的代码,我也建议您使用MovingPlatformArray [c] .hitTestObject(birdie)而不是MovingPlatformArray [c] .hitTestPoint(birdie.x,birdie.y,true)
踩什不
我建议为每个循环使用for来代替for in,因为我认为它更干净一些,但这是次要的事情:
为了清楚起见,我将循环变量编辑为平台而不是moveplatform,以避免混淆在舞台实例(即this.movingplatform)中包含局部变量。我希望清楚一点,此处未使用阶段实例名称,因为代码中的无意实例名称引用首先是问题的根源。
诉嘎归亮
然后在某个地方的类位置,例如在文件夹game / activeObjects中