私が持っている本は1系をベースに解説されていますが、実装は2系でやっています。
そのため、内容が合わずそのまま使えないため読み替えが必要です。これから2系でやる方は、1系の本買わないように注意ですね。
2系の本で「その思想も間違ってた!」なんて言われると困りますが・・・。
ネット上のサンプルコードは、ほんとんどCCSpriteを継承して動かしたいキャラなどのスプライトつくってますが、Cocos2d本によると、継承はよくなくてコンポジションで作るべきとあります。理由はキャラとスプライトの関係は「IS-A」じゃなくて「HAS-A」だからです。まぁ確かにそうです。
今作っているアプリでは、CCSpriteを持たせたキャラクタのクラスに、タッチのイベントなどをつらつらと書いています。
でキャラクタをいくつか生成して、CCSpriteをCCLayerに追加しています。そんななか、最後に作ったキャラクタのクラスしかタッチに反応しない事象が発生しました。原因はTouchDispatcherにデリゲートを設定するときの引数が良くなかったようです。
うちの場合iPhoneシュミレータで動かすと、MacのCPU使用率が高くなるため、部屋の温度が急上昇するは、Mac上のほかのアプリは重たくなるわで良い事無いので、実機で動かすようにしています。
0 件のコメント:
コメントを投稿