我试图让一个MovieClip跟随另一个MovieClip,直到联系为止。一个MovieClip通过加速度计移动

时间:2018-07-04 18:22:49

标签: 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;
    }
    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;
            }
        }

预先感谢...

1 个答案:

答案 0 :(得分:0)

我同意Organis。敌人似乎确实是一个数组,所以要添加它们的x和y,就需要敌人[0] .x。为了解决这个问题,我将x位置放在y坐标的for循环中。

或者,根据您拥有多少个敌人,我会向敌人添加一个类别。这样一来,敌人便会生成并知道如何通过其职业来做。我认为这会更简单,因为当敌人被移走时不需要整理阵列。您还可以对其进行调整,以使每个敌人都有一个随机的速度值,从而获得更动态的结果。

祝你好运

编辑:

好的,那是我的坏事,只是意识到我不太清楚。我的意思是:

 //move enemies//
    if (enemies.length != 0) {
        for (var j: int = 0; j < enemies.length; j++) {
            enemies[j].y += 5;
        }
    }

工作正常。一旦被引用,每个敌人都会移动5。为什么不将其余代码复制并粘贴到此循环中,而不是使用敌人。x使用敌人[j] .x。

我确实认为,针对每个单独的敌人,这是一个更好的解决方案,并且我认为您应该对此进行研究。

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