強火で進め

このブログではプログラム関連の記事を中心に書いてます。

cocos2dのバージョン2.0での変更点

cocos2dのバージョン2.0がrc0になってたし、新しいiPad(第3世代iPad)もサポートされてるという事なのでv2.0-rc0を導入してみました。バージョン2.0になって変わった所は以下のページにまとめられています。

prog_guide:migrate_to_v2.0 – cocos2d for iPhone
http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:migrate_to_v2.0

ここでちょっとだけ内容を紹介しておきます。なお、cocos2dはiOS/Macの両方をサポートしていますが今回はiOSについての話のみ取り上げます。

概要

サポートデバイス

非サポート

iPhone,iPhone 3G

画像ファイル

AppDelegate.m の以下の記述により、デバイス毎に使用するファイルが「指定したファイル名+"ここでしてされた文字列"」というファイル名のものに自動的に切り替えられます。

	[CCFileUtils setiPhoneRetinaDisplaySuffix:@"-hd"];		// Default on iPhone RetinaDisplay is "-hd"
	[CCFileUtils setiPadSuffix:@"-ipad"];					// Default on iPad is "" (empty string)
	[CCFileUtils setiPadRetinaDisplaySuffix:@"-ipadhd"];	// Default on iPad RetinaDisplay is "-ipadhd"

コンパイラ

Xcode 4以降、LLVM 3.0以降

開発環境のOS

Mac OS X 10.6(Snow Leopard)以降

APIの変更

かなり多いので元サイトで確認して下さい。

名前変わっただけで同じ機能のもの、存在しなくなったもの、シングルトンじゃなくなったものなど色々と変更されてました。

後、ここに記載されてないけど変更されているものなども有ったりします。

例えば itemFromString:target:selector: 、

 [CCMenuItemFont itemFromString:@"hoge" target:self selector:@selector(hoge:)];

これが以下の様に itemWithString に変更されています。

 [CCMenuItemFont itemWithString:@"hoge" target:self selector:@selector(hoge:)];

うーむ、「今更変えないでよぉ」と思うところですが変えるならこのメジャーバージョンアップのタイミングがベストですもんね。もちろん、誰でも分かり易い名前の方が良いので改善された良かったと思って修正する事にしますw