HitTestObject两个MovieClip Actionscript 3.0

时间:2016-05-09 04:29:15

标签: actionscript-3 flash actionscript

我想制作一个玩家和2个圈子。

当玩家击中第一个圆圈时,圆圈也会像玩家一样移动。继续第二个圆圈,如果第二个圆圈被第一个圆圈击中(当玩家移动并推动第一个圆圈时),第二个圆圈也将像玩家的速度移动一样移动!

你能解决问题吗,请... :) 谢谢!

1 个答案:

答案 0 :(得分:0)

使用addChild()方法。

var circle1Hit:Boolean = false;
var circle2Hit:Boolean = false;

function myHitTest(me:MouseEvent): void 
{
    if (player.hitTestObject(circle1) && circle1Hit == false){
        circle1Hit = true;
        var _x:Number = circle1.x - player.x;
        var _y:Number = circle1.y - player.y;
        player.addChild(circle1)
        circle1.x = _x;
        circle1.y = _y;
    }
    if (player.hitTestObject(circle2) && circle2Hit == false)
    {
        circle2Hit = true;
        var _x:Number = circle2.x - player.x;
        var _y:Number = circle2.y - player.y;
        player.addChild(circle2)
        circle2.x = _x;
        circle2.y = _y;
    }
}

如需进一步阅读,请查看解释容器和OOP的great tutorial。另请查看来自同一作者here的阵列上的那个。通过使用数组,您可以为数组添加更多的圆圈,并且所有这些圆圈都可以像这两样一样坚持,而不必像我们这里那样为每个圆圈分别设置一些代码。