AS3碰撞检测无法识别

时间:2012-02-22 14:28:30

标签: actionscript-3 collision-detection

我对AS3很新,我需要一些帮助。我正在尝试制作像马里奥这样的游戏。我已经创造了一个可以立即跳跃的角色,但我在碰撞检测方面遇到了一些问题。

我希望我的角色能够跳到更高的栏上。我的碰撞检测根本不起作用。

我创建了一个实例名为mcMain的cirle,我已经创建了MovieClip。 T还创建了一个实例名称为balkje的矩形,我也创建了一个MovieClip

我希望你能告诉我我的代码有什么问题,以及为了使碰撞检测工作我需要改变的地方!非常感谢!

balkje.addEventListener(KeyboardEvent.KEY_DOWN, drag);
stage.addEventListener(KeyboardEvent.KEY_UP, drop);

function drag(e:KeyboardEvent):void
{
    e.target.startDrag();
}

function drop(e:KeyboardEvent):void
{
    stopDrag();
    if (balkje.hitTestObject(mcMain))
    {
        trace("Collision detected!");
    }
    else
    {
        trace("No collision.");
    }
}

1 个答案:

答案 0 :(得分:0)

我认为你应该使用mouseEvent,而不是键盘事件。 怎么用键盘拖动?

balkje.addEventListener(MouseEvent.MOUSE_DOWN, drag);
balkje.addEventListener(MouseEvent.MOUSE_UP, drop);

function drag(e:MouseEvent):void
{
    e.target.startDrag();
}

function drop(e:MouseEvent):void
{
    e.target.stopDrag();

    if (balkje.hitTestObject(mcMain))
    {
        trace("Collision detected!");
    }
    else
    {
        trace("No collision.");
    }
}