Seasons.NET

ちょっとした技術ブログです

Cocos2d-Swift タッチを検出してみる

Cocos2d-Swift 絵を表示するプログラムの解説2 - Seasons.NET

ブログの進行は筆者の気分次第で色々のらりくらりしますので予めご容赦ください...。

さて、今回は、タッチ処理について、チャレンジしてみたいと思います。

タッチ処理といえば、cocos2dではCCLayerがこれまで管理しており、利用するには、CCLayerが不可欠でしたが、最近のcocos2dでは、なんとCCLayerが無くなりました!!え!?

と思う方がほとんどだと思います。


Cocos2d 3.0: A brief transition guide

こちらにも記載されている通り、CCNodeを継承すれば、タッチ処理が実装できるようになっています。具体的には、CCResponderインターフェースを継承しており、そこにタッチ処理のメソッドが定義されているというカラクリです。

 

さて、タッチ処理を早速実装してみましょう。

次のようにコードを書いてください。コード補完の機能でtouchと入力すればすぐメソッドがオーバーライドできると思います。

ccswift20150101

気づいた方がいるかもしれませんが、タッチ処理を検出にするには、タッチイベントハンドラを実装するだけでなく、userInteractionEnabledプロパティをtrueに設定する必要があります。忘れないようにしましょう。

ビルド&実行後、画面をタップ(クリック)することでコンソールにtouch!!という文字列が出力されます。

f:id:Seasons:20141231063047p:image