読者です 読者をやめる 読者になる 読者になる

cocos2d-jsでタッチイベント等イベント処理を削除する

ゲームクリア時に、ゲーム画面のタッチイベントを削除する時とか。

これで削除できるみたいです。js-testsの中のソースを参考にしました。

// タッチイベント削除
cc.eventManager.removeListeners(cc.EventListener.TOUCH_ONE_BY_ONE);

公式のJsDocを読むと削除したいListenerを指定してイベント削除するremoveListener(listener)もありました。

Listener生成してLayerなどで保持しておくことで個別にイベント削除ができそうですね。

* removeListener(listener)

Remove a listener
Parameters:
{cc.EventListener} listener
an event listener or a registered node target

* removeListeners(listenerType, recursive)

Removes all listeners with the same event listener type or removes all listeners of a node
Parameters:
{Number|cc.Node} listenerType
listenerType or a node
{Boolean} recursive Optional, Default: false