2011-12-21 8 views
0

私が作業していたプロジェクトにbulletCacheとBulletCacheを書き込もうとしていましたが、CCSpriteBatchNodeを使っていました。宣言していなかったので、あらゆる種類の#importと@classを試してみましたが、クラスが存在してはいけないと分かりました。Cocos2dではCCBatchNodeの代わりにCCSpriteFrameを使用していますか?

私は別のプロジェクトのCCSpriteBatchコードを持っているので、cocos2dフォルダ内に新しいクラス(.hと.mファイルの両方)を作成し、コードを貼り付けてコピーします。

コンパイルエラーは、CCSpriteBatchNodeにCCSpriteのstructUpdateメソッドがないことを警告しました。これは、2つのCCSprite.h/mファイル間でcocos2dコードが著しく異なるという事実を警告しました。

この新しいプロジェクトのcocos2dファイルは、CCSpriteFrameで置き換えられているため、CCSpriteBatchNodeを持たない可能性がありますか?

+0

CCSpriteBatchNode.hでCCSpriteBatchNodeが宣言されています – Ultrakorne

答えて

1

CCSpriteFrameおよびCCSpriteBatchNodeは、2つの異なるクラスである。 CCSpriteFrameは、フレームによって表示されるテクスチャの領域を定義するデータクラスとして機能します。

cocos2dのあるバージョンから別のバージョンに単一のクラスを追加またはコピーするだけで失敗する可能性があります。あなたの最善の選択肢は、最新のバージョンのXcodeテンプレートをインストールしてcocos2dを最新バージョンに完全に置き換え、次に新しいCocos2Dプロジェクトを作成し、プロジェクトのソースコードとリソースファイルを新しいプロジェクトに追加することです。

プロジェクトでは、CCSpriteBatchNodeは以前の名前CCSpriteSheetで認識されることがあります。

+0

また、ココスのアップデートでは、コードに影響を与える変更を含む、変更に関する明確な文書があります。一部のリリースでは、コードをアップグレードするスクリプトも含まれています。ココスをアップグレードする際には、この文書を必ずお読みください。 (興味のある新機能についても警告します)。 –

関連する問題