【CocosCreator】タッチイベント(eventManager)が非推奨・次期廃止になって変更するべき点。

【CocosCreator】タッチイベント(eventManager)が非推奨・次期廃止になって変更するべき点。

「eventManager.addlistener」が非推奨になっているので
onを使ってタッチイベントなんかを書かなければいけないのですが
this.node.on(c.Node.EventType.TOUCH_START,this.node)
のような書き方をする場合、
画面タッチではなく、画面上のあるオブジェクトをタッチしないと
いけなくなるような状態になることがあります。
これをゲーム画面全体・・・のような感じに変更したいと思います。

要は「画面全体」を表すオブジェクトを指定すれば
実現できます。
一番早いのが「Canvas」だと思います。
Canvasを指定して、[Canvas].onとかけば
画面全体のタッチに反応します。

もしくはthis.node.on~と書いたスクリプトを
CanvasでaddComponent~カスタムコンポーネント~と
やればできますので、やり方が違うだけで
ほぼ挙動は同じになります。

 

これでオブジェクトでなく、画面全体にタッチが
反応するようになります。
逆に、オブジェクトにタッチを反応させたい場合は
オブジェクト(ノード)にカスタムコンポーネントを
実装すれば可能です。

CocosCreator/Cocos2d-JSカテゴリの最新記事