Action Script 3 перетаскивание касанием с помощью hitTest - PullRequest
0 голосов
/ 24 ноября 2011

Я использую Action Script 3, чтобы сделать игру для Android с использованием "air for android"

Я делаю шар, голе и StatusTxt.

и у меня есть конец каждой вещи в дизайне. Правильно.

в коде:

  Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT; 
ball.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin); 
ball.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);

function onTouchBegin(e:TouchEvent) { 
    e.target.startTouchDrag(e.touchPointID);
}  
function onTouchEnd(e:TouchEvent) { 
    e.target.stopTouchDrag(e.touchPointID); 
}

if(gole.hitTestObject(ball))
        {
            StatusTxt.text = "You hit it.";
        }

но StatusTxt не изменился. Почему ??

1 Ответ

1 голос
/ 24 ноября 2011

Ваш тест за пределами мероприятия. Вы можете добавить его в функцию onTouchEnd. Если вы хотите проверить его вне события TOUCH_END, вы можете использовать событие ENTER_FRAME.

Так что в итоге это выглядело бы примерно так:

function onTouchEnd(e:TouchEvent) 
{
        e.target.stopTouchDrag(e.touchPointID); 

        if(gole.hitTestObject(ball))
        {
            StatusTxt.text = "You hit it.";
        }
}

или с ENTER_FRAME, например:

addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onEnterFrame(e:Event) : void
{
        if(gole.hitTestObject(ball))
        {
            StatusTxt.text = "You hit it.";
        }
}
...