Cocos2d-Swift タッチを検出してみる
Cocos2d-Swift 絵を表示するプログラムの解説2 - Seasons.NET
ブログの進行は筆者の気分次第で色々のらりくらりしますので予めご容赦ください...。
さて、今回は、タッチ処理について、チャレンジしてみたいと思います。
タッチ処理といえば、cocos2dではCCLayerがこれまで管理しており、利用するには、CCLayerが不可欠でしたが、最近のcocos2dでは、なんとCCLayerが無くなりました!!え!?
と思う方がほとんどだと思います。
Cocos2d 3.0: A brief transition guide
こちらにも記載されている通り、CCNodeを継承すれば、タッチ処理が実装できるようになっています。具体的には、CCResponderインターフェースを継承しており、そこにタッチ処理のメソッドが定義されているというカラクリです。
さて、タッチ処理を早速実装してみましょう。
次のようにコードを書いてください。コード補完の機能でtouchと入力すればすぐメソッドがオーバーライドできると思います。
気づいた方がいるかもしれませんが、タッチ処理を検出にするには、タッチイベントハンドラを実装するだけでなく、userInteractionEnabledプロパティをtrueに設定する必要があります。忘れないようにしましょう。
ビルド&実行後、画面をタップ(クリック)することでコンソールにtouch!!という文字列が出力されます。