したがって、私のプロジェクトでは、クラス「Survival.m」で「-(void)fire」というインスタンス メソッドを呼び出します。
-(void)fire {
NSLog(@"Firing");
CCSprite *sprite = [CCSprite spriteWithFile:@"bullet.png"];
sprite.position = player.position;
NSLog(@"%@",NSStringFromCGPoint(player.position));
[self addChild:sprite z:100];
}
これを行うと、スプライトが画面に表示されません。メソッドは別のレイヤーから呼び出されていますが、ボタンをタップするたびに「Firing」と記録されるので問題ありません。
問題が発生する可能性がある場合は、TMXTiledMap も使用しています。助けてください、ありがとう!
編集 - - - - -
他のレイヤー HUDLayer でスプライトを作成できますが、プレイヤーとタイル マップを含む Survival レイヤーでは作成できません。「init」メソッドでスプライトを作成すると正しく動作しますが、「fire」メソッドで作成すると動作しません。メソッド「fire」は HUDLayer から呼び出されていますが、ログに「Firing」と表示されているため、メソッドが呼び出されています。
1. スプライトが見えないところで作成されていますか? 2. スプライトが作成されていませんか? 3. スプライトが正しい親に追加されていませんか?
助言がありますか?