コンテンツへスキップ

LadyAURORA その4

  • 日記

cocos2dで詰まったところ、その2。

cocos2dでマルチタッチする場合、適当にぐぐればやり方が出てきますが、99.5あたりからはAppDelegate内で

[cc lang=”objc”]
[glView setMultipleTouchEnabled:YES];
[/cc]

などとしてビューに設定してやらんと駄目らしいです。

あと、シングルタッチの場合、次のようにして登録してやる必要があるんですが、

[cc lang=”objc”]
– (void)onEnter{
[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
[super onEnter];
}
[/cc]

こうやって、ちゃんと解除の方も忘れずにしておかないと困ります。

[cc lang=”objc”]
– (void)onExit{
[[CCTouchDispatcher sharedDispatcher] removeDelegate:self];
[super onExit];
}
[/cc]

具体的にはメニュー画面でシングルタッチを取得してシーンを切り替えるようにしてたんですが、次のシーンでタッチ処理をしようとすると、前のシーンのハンドラがそのまま呼び出されてなんども新しいシーンが作られる、などという状態に陥ったりしてました。

開発はtouch2Gでやってるんですが、なんとなくiPhone3GにいれてみたらFPSが40程度しかでなくて、そこまでスペック差はないだろうと思っていろいろ調べてたら、こちらにあるようにGameConfig.h内で

[cc lang=”objc”]
#define GAME_AUTOROTATION kGameAutorotationCCDirector
[/cc]

とかしてやらんと駄目らしいです。

そんな感じで黙々と開発中。