2

cocos2d-iphone のアイソメ タイル マップの z オーダーの例では、プレイヤー スプライトとして既にタイルマップにあるオブジェクトを使用し、木の間を移動するようにレンダリングします。

CCNode(tmx ファイルではなく、スプライト シートの一部ではなく) コードで作成された random を使用し、タイルマップで正しく z オーダーする方法はありますか? addChild は ではサポートされておらず、CCTMXLayerはそれを使用すると次のエラーを返します: 'addChild: is not supported on CCTMXLayer. Instead use setTileGID:at:/tileAt:'

cocos2d の API または Z バッファ技術を使用して、タイルマップで Z オーダーCCNode(単純なものとしましょう) を正しく設定する方法が必要です。CCSpriteポインタはありますか?

4

2 に答える 2

3

CCTMXLayer は、単一のスプライトシートにすべてのスプライトを実装しているため、実行時のタイルの追加をサポートしていません。この実装の詳細のため、個々のタイルで setTexture を呼び出すこともできません。

最も簡単な解決策は、最初にスプライトシートで使用したいスプライトを用意することです。実行時に生成されるなどの理由でこれを行うことができない場合、次善の策は (cocos2d コードに手を加えずに) スプライトシートを変更することです。

TMXLayer に使用しているスプライト シートにダミー タイルを配置し、使用する画像を取得したら、CCRenderTexture などを使用してスプライト シートに書き込み、新しく生成されたテクスチャを TMXLayer のテクスチャとして使用します。

CCTMXLayer を変更して機能を許可することもできますが、それは避けたいようです。

于 2010-12-10T18:48:30.923 に答える