コロナで、力のベクトルを使って特定の方向にボールを打つゲームを作ろうとしています。ボールが止まったときにイベントをトリガーしようとしています。ボールに触れて離す方向を設定すると、タッチイベントが数回呼び出されるため、「タッチ」イベントを使用できません。
3 に答える
4
コロナのカスタム イベントを使用して、何かが発生したときにイベントをディスパッチできます。この場合、ボールが停止したときです。以下のコードは、イベントを 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)
于 2012-09-24T21:19:17.363 に答える
0
タッチ イベントphase
のプロパティを使用し、「開始」フェーズでのみ反応します。
于 2012-04-23T20:17:16.513 に答える
0
enterFrame イベントで、ball.getLinearVelocity を使用してボールの速度を確認します。それらが (0,0) と等しくない場合は、メソッド/イベントを実行します。この時点でカスタム イベントを実行する場合は、Michael の回答に従ってください。
于 2012-09-24T21:41:46.847 に答える