Actionscript 3 我试图让一个电影剪辑跟随另一个电影剪辑直到接触。一个MovieClip通过加速度计移动

Actionscript 3 我试图让一个电影剪辑跟随另一个电影剪辑直到接触。一个MovieClip通过加速度计移动,actionscript-3,actionscript,Actionscript 3,Actionscript,这是我代码的一部分,但敌人仍然不跟随飞船。知道我能做什么吗?飞船通过加速计移动,敌人从屏幕上的-y处产卵。如果能帮上忙,我将不胜感激 //Move Enemies towards Player// var speed = 5; if( enemies.x < ship.x ) { if( enemies.x + enemies.speedX > ship.x ) { enemies.x = ship.x;

这是我代码的一部分,但敌人仍然不跟随飞船。知道我能做什么吗?飞船通过加速计移动,敌人从屏幕上的-y处产卵。如果能帮上忙,我将不胜感激

        //Move Enemies towards Player//
        var speed = 5;
        if( enemies.x < ship.x )
{
    if( enemies.x + enemies.speedX > ship.x )
    {
        enemies.x = ship.x;
    }
    else
    {
        enemies.x += enemies.speedX;
    }
}
else if( enemies.x > ship.x )
{
    if( enemies.x - enemies.speedX < ship.x )
    {
        enemies.x = ship.x;
    }
    else
    {
        enemies.x -= enemies.speedX;
    }
}

if( enemies.y < ship.y )
{
    if( enemies.y + enemies.speedY > ship.y )
    {
        enemies.y = ship.y;
    }
    else
    {
        enemies.y += enemies.speedY;
    }
}
else if( enemies.y > ship.y )
{
    if( enemies.y - enemies.speedY < ship.y )
    {
        enemies.y = ship.y;
    }
    else
    {
        enemies.y -= enemies.speedY;
    }
}

        //move enemies//
        if (enemies.length != 0) {
            for (var j: int = 0; j < enemies.length; j++) {
                enemies[j].y += 5;
            }
        }
//将敌人移向玩家//
无功转速=5;
如果(敌人xship.x)
{
敌人.x=飞船.x;
}
其他的
{
敌人.x+=敌人.speedX;
}
}
否则如果(敌人.x>飞船.x)
{
如果(敌人.x-敌人.speedXship.y)
{
敌人.y=ship.y;
}
其他的
{
敌人.y+=敌人.speedY;
}
}
否则如果(敌人y>飞船y)
{
if(敌人.y-敌人.y

提前谢谢…

我同意奥古斯的观点。敌人看起来是一个数组,所以要访问他们的x和y,你需要敌人[0].x。为了解决这个问题,我把x的位置放在一个for循环中,就像你对y坐标一样

或者,根据你有多少敌人,我会给敌人添加一个类。这样,敌人就可以通过自己的职业产生并知道该做什么。我认为这会更简单,因为当敌人被移除时,它不需要整理阵列。您还可以调整它,使每个敌人都有一个随机的速度值,从而获得更动态的结果

祝你好运

编辑:

好吧,那是我的错,我刚意识到我不是很清楚。我的意思是:

 //move enemies//
    if (enemies.length != 0) {
        for (var j: int = 0; j < enemies.length; j++) {
            enemies[j].y += 5;
        }
    }
//移动敌人//
如果(长度!=0){
for(var j:int=0;j<0.length;j++){
敌人[j].y+=5;
}
}
很好。每个敌人被引用后将移动5。为什么不将其余代码复制并粘贴到此循环中,而不是使用敌人。x使用敌人[j].x

我确实认为针对每个敌人的课程将是一个更好的解决方案,我确实认为您应该对此进行研究


希望这更有意义,再次道歉。

首先,如果敌人(很可能)是一个数组,那么对敌人.x和敌人.y的称呼有什么意义?基本上,你搞乱了不存在的x和y属性(在数组中没有意义),然后将+5添加到所有敌人的y坐标中。恕我直言,这不是问题的答案。我建议你回答一个问题,如果你是肯定的,你可以(而且你完全应该)提供一个有效的解决方案,或者至少提供一个评论良好的指导方针,帮助OP理解事情,克服错误并解决问题。