30
Cocos2d-x(JS) ハハハハハ #4 ハハハハハハハハハハハ ハハハハ TKS2 ハハハハ

Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

Embed Size (px)

Citation preview

Page 1: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

Cocos2d-x(JS) ハンズオン #4タッチイベントの使い方

株式会社 TKS2 清水友晶

Page 2: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

清水 友晶株式会社 TKS2

アプリ開発コンサルCocos2d-x サポートスマホアプリ開発

プライベートでもCocos2d-x に関するゲーム開発講演活動執筆活動

マイブーム : ゲームエンジン調査

チラ裏開発メモ : http://tks2.net/memoSlideShare: http://www.slideshare.net/doraemonsssFacebook: http://www.facebook.com/doraemonsss

Page 3: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」
Page 4: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

http://line.me/S/sticker/1085672

Page 5: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

もくじおさらい

Cocos2d-x(JS) の開発環境構築

Cocos2d-x におけるイベントの紹介cc.EventListener クラスcc.EventManager クラスイベントの種類

実際にさわってみるシングルタッチイベントマウスイベントキーボードイベント

Page 6: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

イベントの紹介

Page 8: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

cc.EventListener クラスタッチイベント

cc.EventListener.TOUCH_ONE_BY_ONE cc.EventListener.TOUCH_ALL_AT_ONCE

キーボードイベント cc.EventListener.KEYBOARD

マウスイベント cc.EventListener.MOUSE

加速度センサイベント cc.EventListener.ACCELERATION

カスタムイベント

cc.EventListener.CUSTOM

Page 9: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

cc.eventManagerユーザが作成したリスナーの登録

addListener見た目順 (ZOrder の降順 ) にイベントが発生

setSceneGraphPriority優先順の昇順にイベントが発生

setFixedPriorityリスナーの削除

removeListener

Page 10: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

イベントの種類シングルタッチイベント

cc.EventListener.TOUCH_ONE_BY_ONEonTouchBeganonTouchMovedonTouchEndedonTouchCancelled

マルチタッチイベント cc.EventListener.TOUCH_ALL_AT_ONCE

onTouchesBeganonTouchesMovedonTouchesEndedonTouchesCancelled

Page 11: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

イベントの種類キーボードイベント

cc.EventListener.KEYBOARDonKeyPressedonKeyReleased

マウスイベントcc.EventListener.MOUSE

onMouseDownonMouseUponMouseMoveonMouseScroll

Page 12: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

イベントの種類

加速度センサイベントcc.EventListener.ACCELERATION

onAccelerationEvent

カスタムイベントcc.EventListener.CUSTOM

onCustomEvent

Page 13: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

実際にさわってみる

Page 14: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

シングルタッチイベントcc.EventListener.TOUCH_ONE_BY_ONE

タッチ開始 : onTouchBegan戻り値 true, false

スワイプ : onTouchMovedタッチ終了 : onTouchEndedタッチキャンセル : onTouchCancelled

手順リスナーの作成リスナーの登録

Page 15: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

シングルタッチイベント

Page 16: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

シングルタッチイベント

Page 17: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

画面をタッチすると

ログ

Page 18: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

ノードに対するタッチイベント

Page 19: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

画面をタッチすると

ログ

スプライト以外をタッチしても、先ほどと同じ

Page 20: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

onTouchBegan にて判定が必要

Page 21: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

画面をタッチすると

ログ

スプライトをタッチした場合のみイベントが有効

Page 22: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

複数ノードに対するタッチイベント

Page 23: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

画面をタッチすると

ネコをタップすると移動できる

しかし、ネコが重なっている箇所をタップすると複数のネコが移動する

Page 24: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

単一のノードのみタッチする

Page 25: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

画面をタッチすると

ネコが重なっている箇所をタップすると最前面のネコが移動する

Page 26: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

マウスイベント

Page 27: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

キーボードイベント

Page 28: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

作業はここまで

Page 29: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

参考になるサイト

Cocos 公式 Wikihttp://www.cocos2d-x.org/wiki/Cocos2d-JS

Cocos2d-JS API リファレンスhttp://cocos2d-x.org/wiki/Reference

Qiita( tag: cocos2d-js )https://qiita.com

Page 30: Cocos2d-x(JS) ハンズオン #04「タッチイベントの使い方」

おわり

ありがとうございました