CocosCreatorでタッチを透過させる (swallowTouchesをfalseにする) 方法

CocosCreatorでタッチを透過させる (swallowTouchesをfalseにする) 方法:


CocosCreatorの(タッチ)イベント登録について


非公開Apiを用いて設定する

どうにもならないので、昔公開されていた非公開のApiを使用して設定しました

TypeScriptで書いてるので必要に応じてJSに戻すなどしてください

const listener1 = cc.EventListener.create({ 
    event: cc.EventListener.TOUCH_ONE_BY_ONE, 
    swallowTouches: false, 
    onTouchBegan: (touch: cc.Touch, event) => { 
        // Node内をtapしていているかでtrue/false切り替えても良い 
        return true; 
    }, 
    onTouchEnded: (touch, event) => { 
        // 発火した上で透過させたい処理 
    } 
}); 
cc.eventManager.addListener(listener1, this.touchNode); 
非公開なので、 EventListener や eventManager部分が赤くなったり下記警告が出力されます。

Simulator: JS: [WARN]: The 'cc.eventManager' will be removed in v2.0, please use 'cc.EventTarget or cc.systemEvent' instead. 
公式も明確に cc.eventManager を使わないでくれと言っています

- http://docs.cocos2d-x.org/creator/api/en/classes/Node.html#on

- It's the recommended way to register touch/mouse event for Node,

please do not use cc.eventManager directly for Node.


いつ使えなくなるかはわかりませんが現状の対応ということで

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2024-02-12 22:08:06 RSSフィード2024-02-12 22:00分まとめ(7件)