cocos2d のチュートリアルをやってみた。

  • |
   

連休で何も出来ていなかったので、今日からぼちぼちcocos2dの勉強を始めます。

まずは、勉強会で@xionchannelさんで見せてもらったサンプルは少し難しいので、これがとりあえずわかるように頑張ります。



今回のサンプルはhttp://www.raywenderlich.com/352/how-to-make-a-simple-iphone-game-with-cocos2d-tutorialをやってみます。

画像の表示


まずは、キャラクタの表示です。
主人公なり、敵なり、何らかしら画像を貼る作業です。


画像を呼び出し、場所を決めて、それを画面に追加する。


アクションを追加する


表示させた画像に、移動する何らかしらのアクションを追加する。

基本的な移動のCCMoveToを使った場合


今回はCCMoveToを使いましたが、その他にもたくさんのアクションがあります。その一部。

  • CCMoveTo
  • CCMoveBy
  • CCJumpTo
  • CCRotateTo
  • CCScaleTo
  • CCFadeTo
  • CCFadoIn
  • Bezier
  • Blink


まだまだ色々ありますが、福井高専IT研究会のwikiに載っていますのでこちらも参考にしていただければ。


CCAcitonに様々な振る舞いをつけることができます。
例えば複数のアクションを組み合わせるCCSpawnなどを使えばより複雑なアクションを作りだせます。
  • CCSequence
  • CCSpawn
  • CCRepeatForever
  • CCRepeat
  • CCDelayTime 何も実行しない。[CCDelayTiome actionWithDuration:1] (一秒何もしない)


特殊なアクション

CCCallFuncなどを利用すると、他のメソッドをアクションで呼ぶことができる。


CCCallFuncには、CCCallFuncNとCCCallFuncNDが存在します。
CCCallFuncNは引数としてノードを取得し、CCCAllFuncNDはノード+ポインタを取得できます。



継続的にメソッドを呼ぶSchedule


先ほどまでのActionはあくまで一時的な動作ですが、継続的に動かすにはScheduleを使います。



タッチイベント

iPhoneをタッチしたときのイベント。

まずはタッチを有効にするために、object.isTouchesEnabled = YES にしてやる。


で、実際タッチをしたときのイベントを書く。

  • – (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
  • – (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
  • – (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
  • – (void)ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

    • 実際に、タッチをした座標を取得するには以下のコードを書く







      その他新しく発見したこと


      配列にオブジェクトを入れる時には、addObjectを使う


      オブジェクトにはtagが付けられる









      Related Posts Plugin for WordPress, Blogger...