透過イベントを確実にキャンセルする


以前にCorona SDKで透過イベントをキャンセルする方法をご紹介しました。

イベントリスナーの透過を防ぐ

それでも、うまくキャンセルができない場合のチップスをご紹介します。

performWithDelayを試してみる

 

例えば、次のようなコードを書いたとします。

 

関数の最後にtrueを返しているため、イベント透過がキャンセルされるはずです。

しかし、その前にoverlayObjectの表示をオフにしているため、キャンセルの前に下に表示にされているオブジェクトのイベントが実行される可能性があります。

 

その場合は次のようにしてみましょう。

 

performWithDelayを使って、一瞬処理を遅らせます。

そうすることによってイベントを消化した上で、overlayオブジェクトが非表示になり、イベントが下に伝播するのを防ぐことができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です