AS3 обнаружение столкновений не распознается - PullRequest
1 голос
/ 22 февраля 2012

Я новичок в AS3, и мне нужна помощь.Я пытаюсь сделать игру, как Марио.Я создал персонажа, который может прыгать прямо сейчас, но у меня есть некоторые проблемы с обнаружением столкновений.

Я бы хотел, чтобы мой персонаж прыгал на полосу, которая находится выше.Мое обнаружение столкновений не работает вообще, я догадываюсь ..

Я сделал круг, который имеет имя экземпляра mcMain, и я сделал его 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 голосов
/ 22 февраля 2012

Я думаю, что вы должны использовать 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.");
    }
}
...