0

CCNodeを作成し、プレーヤーの位置に設定します。デバッグ描画では、物理オブジェクトが表示されますが、スプライトが表示されないか、nilなどです。スプライトがクラッシュしないだけで表示されません。爆弾も適切な経路を移動し、そのセレクターメソッドが呼び出されます。

表示されません:

GameObject *bomb = [_useBombArray nextSprite];
bomb.tag = kShipMissile;
[bomb stopAllActions];
NSLog(@"_bombSpawnPoint: %.0f, %.0f", _bombSpawnPoint.x, _bombSpawnPoint.y);
bomb.position = _bombSpawnPoint;

私はこれを行うことによってそれが表示されるようになりました:

GameObject *bomb = [_useBombArray nextSprite];
bomb.tag = kShipMissile;
[bomb stopAllActions];
bomb.position = ccp(_winSize.width * 0.5, _winSize.width * 0.5);

_bombSpawnPointはこれより前に設定されており、出力で適切な結果を受け取ります。

もともと私は、アップデートの不適切なタイミングでオブジェクトを作成するために電話をかけたと思っていました。そこで、updateメソッドで適切な順序で呼び出されるように、関数を少し変更しました。

何が原因なのかわからない!助けてください!私はこのようにすべてのオブジェクトを作成しましたが、これまでのところすべて完全に機能しています。

4

1 に答える 1

0

この結果は、爆弾のテクスチャが適切な BatchNode にないことが原因でした。余分なサブクラスを削除してスプライトのみを使用するまで、エラーは発生しませんでした。

受け取ったエラーは次のとおりです。'CCSprite is not using the same texture id'

他のバッチノードを使用すると、すべてが完璧に機能しました。これが誰かを助けることを願っています!

于 2013-04-26T20:35:12.643 に答える