我正在尝试让一个 MovieClip 跟随另一个 MovieClip 直到联系。一个影片剪辑按加速度计移动

Posted

技术标签:

【中文标题】我正在尝试让一个 MovieClip 跟随另一个 MovieClip 直到联系。一个影片剪辑按加速度计移动【英文标题】:I am trying to make a MovieClip follow another MovieClip until contact. One MovieClip moves by Accelerometer 【发布时间】:2018-12-13 05:20:30 【问题描述】:

这是我的代码的一部分,但敌人仍然没有跟随船。知道我能做什么吗?船通过加速度计移动,敌人从屏幕上的 -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;
            
        

提前谢谢...

【问题讨论】:

首先,如果 enemies 是(很可能)一个 Array,那么解决 enemies.x的意义何在> 和 enemies.y?基本上,你弄乱了不存在的 xy 属性(在 Array 上没有意义),然后为所有敌人添加 +5 y-坐标。 【参考方案1】:

我同意 Organis 的观点。 Enemies 看起来确实是一个数组,因此要访问他们的 x 和 y,您需要enemys[0].x。为了解决这个问题,我将 x 位置放在一个 for 循环中,就像你对 y 坐标一样。

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

祝你好运

编辑:

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

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

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

我确实认为针对每个单独敌人的班级会是一个更好的解决方案,我认为您应该研究一下。

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

【讨论】:

恕我直言,这不是问题的答案。我建议您回答一个问题,只有当您确定您可以(并且您完全应该)提供一个有效的解决方案,或者至少提供一个可以帮助 OP 理解事情、克服错误并解决问题。

以上是关于我正在尝试让一个 MovieClip 跟随另一个 MovieClip 直到联系。一个影片剪辑按加速度计移动的主要内容,如果未能解决你的问题,请参考以下文章

当添加到另一个 AS 类文件的舞台时,AS3 访问 MovieClip

Bootstrap 2 可以让 1 个模态跟随另一个模态吗?

PySide:让 SVG 图像跟随鼠标而无需拖放?

用另一个 MovieClip 更改一个 MovieClip 的简单方法

使用 addChild() 时,MovieClip 没有播放动画

(movieclip1).gotoAndPlay 从另一个电影剪辑(movieclip2) 内部不起作用