2012-04-23 4 views
1

Я пытаюсь сделать игру в Короне, которая включает в себя удар по мячу в определенном направлении с использованием вектора силы. Я пытаюсь вызвать событие, когда мяч останавливается. Я не могу использовать событие «touch», поскольку событие касания вызывается несколько раз, когда я касаюсь шара и устанавливаю направление его отпускания.Как вызвать событие при остановке движущегося шара в короне sdk

ответ

0

Используйте phase недвижимость touch event и реагируйте только на фазе «началось».

4

Вы можете использовать специальные события Corona для отправки вашего события, когда что-то происходит, в вашем случае, когда мяч останавливается. Приведенный ниже код отправит событие в объект Runtime.

local event = { name = "ballHasStoppedMoving", target = Runtime } 
Runtime:dispatchEvent(event) 

Следующий код будет использоваться для прослушивания «ballHasStoppedMoving» событие и вызвать вашу функцию «ballStoppedMoving», когда вызывается событие.

local function ballStoppedMoving(event) 

    print("The ball has stopped moving") 

end 

Runtime:addEventListener("ballHasStoppedMoving", ballStoppedMoving) 
0

В случае enterFrame, проверьте скорость шара с помощью ball.getLinearVelocity. Если они не равны (0,0), выполните метод/событие. Если вы хотите выполнить пользовательское событие в это время, следуйте ответам Майкла.

Смежные вопросы