モーリーのメモスマートフォン用の表示で見るモーリーのメモアプリ開発等(プログラミング、CG作成)、興味を持ったことを実践してまとめるブログです。JavaScriptノード(シーン、レイヤー、スプライト等)が、タッチイベントを受け取れるように設定します。タッチイベントとして、下記の処理を設定します。タッチ開始時の処理タッチ中(スワイプ中)の処理タッチ位置が変わる度に処理されます。タッチ位置が変わらない(タッチして離すだけ)の場合は処理されません。使用しているCocos2d-xのバージョンは3.7です。例として、レイヤーにタッチイベントを設定しています。cc.EventListener.TOUCH_ONE_BY_ONE』とします。cc.EventListener.TOUCH_ALL_AT_ONCE』とします。『onTouch◯◯:』と『onTouches◯◯:』シングルタッチとマルチタッチで、下記の部分が変わります。シングルタッチの場合、『onTouch◯◯:〜』の部分が単数形です。・『onTouchCanceled:〜』マルチタッチの場合、『onTouches◯◯:〜』の部分が複数形です。『swallowTouches:〜』ノード(シーン、レイヤー、スプライト等)が複数ある場合、それぞれが順にタッチイベントを受け取りますが、『swallowTouches:true』とすると、このノードより以降のノードは、タッチイベントを受け取れなくなります。シングルタッチの場合のみ有効です。全てシングルタッチまたはマルチタッチの場合1→2→3→4→5の順にタッチイベントを受け取ります。下の例の場合は、3が『swallowTouches:true』にしているため、4と5はタッチイベントを受け取れません。:『swallowTouches:false』:シングルタッチシングルタッチとマルチタッチが混在する場合2→4→5→1→3の順にタッチイベントを受け取ります。シングルタッチのほうが先にタッチイベントを受け取ります。下の例の場合は、4が『swallowTouches:true』にしているため、513はタッチイベントを受け取れません。event){}』内で、『this.〜』が使えるようになります。逆に言えば付けないと使えません。event.getCurrentTarget()』を使用)下記のようにすれば、『target』に『自身のノード』が取得できるので『target.〜』が『this.〜』と同意になります。event){}』は『boolean値(trueまたはfalse)』を返さないとエラーになります。false』とすると、タッチイベントが中断され、『onTouchMoved』、『onTouchEnded』が処理されません。自身のノードのタッチイベントが中断されるだけで、下のノードのタッチイベントは影響を受けません。event){}』の中で、『this.〜』がエラーになったのは原因がわかりにくかったです。マルチタッチの場合に『touches』と複数形にしないと行けないのもわかりにくかったです。IDE』のデバッグ実行でログを出力しながら確かめました。シングルタッチとマルチタッチの優先順位はなにか不思議ですね。実際にはこんな使い方はなかなかやらないとは思いますが;なお、ブラウザでの実行等、他の実行環境ではでは試していません。変わらないことを祈ります。v3.7...下記の記事の続きです。(8)参加グループプログラミングリンクはてなブログブログをはじめる週刊はてなブログはてなブログProはてなブログをはじめよう!mmorleyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。