所以在我的项目中,我在“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 中创建精灵,但不能在包含玩家和平铺地图的生存层中创建精灵。如果我在“init”方法中创建一个精灵,它可以正常工作,但如果我在“fire”方法中这样做,它就不起作用。正在从 HUDLayer 调用“fire”方法,但我现在仍然在调用该方法,因为我在日志中看到它说“Firing”
会不会是这样: 1. 精灵是在看不见的地方创建的?2. 精灵没有被创建?3. 精灵没有添加到正确的父级?
有什么建议么?