2014年7月10日木曜日

cocos2d最新バージョン v3.1非互換に驚愕!(その1)

cocos2dの最新バージョン v3.1がリリースされていましたので、新機能や非互換の調査がてら現在開発中のプロジェクトで使ってみる事にしました。

 cocos2d v3.1ダウンロードサイト:http://www.cocos2d-swift.org

URLに「swift」が付いてて驚きですね。
cocos2d自体のswift言語での書き換え作業も進んでいるって事なのでしょうか。。。

このページのdownloadsリンクから以下のファイルをダウンロード&インストール。
「SpriteBuilder」とは以前に「CocosBuilder」として開発されていたGUIでcocos2d用画面を作ることのできるツールの様です。

その機能がcocos2d v3.1では標準で組み込まれたと思われます。(多分...)

-------------------------------------------------------------------------------------------------

現在はcocos2d v2.1でコーディングしているプロジェクトからv3.1へのマイグレーション作業になります。

まずは現行プロジェクトでは違う名前で「新規プロジェクト」にて新規に作成します。

以前のバージョンでは物理エンジン(Box2d or Chipmunk)を使ったプロジェクトも選択肢として選べたのに無くなってますね。(^^ゞ

逆に良く分からん「cocos2d iOS Newton」ってのがありますが、何なんでしょうね。。。
取り敢えずは標準と思われる「cocos2d iOS」を選択して新規プロジェクトを生成。

ファイル構成内には「Chipmunk」フォルダが出来てるんで物理エンジンはChipmunkに一本化されたって事なのでしょうか???

開発中のプロジェクトで物理エンジンを使う予定はありませんので、「Chipmunk」フォルダを削除してビルドしてみるとエラーで実行できない。(^_^;)

いろいろ辿ってみましたがどうも「Chipmunk」フォルダを消すのはダメなようでした。
邪魔になる訳でもないので取り敢えずは元に戻して先を進めます。

Resourcesフォルダのpngファイルやサウンドファイルとかリソースファイルをコピーして取り込みます。 リソースファイルなんで特に問題無く移行完了!

次からはヘッダーやソースファイルを移設していきます。

まずは非互換が少ないと予想されるデータ管理用のモデルクラスから。。。

ここで大きな非互換がありました。(^_^;)

どうもcocos2dライブラリ全体がAutomatic Reference Counting (ARC)対応されているみたいです。 これも時代の流れですので当然の対応ですね。

現行プロジェクトではcocos2dライブラリもARC未対応でしたので、私の書いていたコードもARCには対応してませんでした。

cocos2dライブラリがARC対応したって事で私の書いたコードもARC対応していきます。
ARC対応自体は比較的簡単ですので、「@property(nonatomic, retain)」の「retain」部分を「strong」に変更したり、「autorelease」や「- (void)dealloc」を消したりしていきます。

面倒ですけど、機械的に進められる作業なんで地道に修正していきます。


長くなってきたんで、ではまた〜


0 件のコメント:

コメントを投稿