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 是在此之前设置的,我确实收到了正确的输出结果。

最初我以为我在更新的不合时宜的时候调用了创建对象。所以我稍微改变了函数,以确保在更新方法中以正确的顺序调用它。

不知道是什么原因造成的!请帮忙!我已经创建了这样的所有对象,并且到目前为止它们都运行良好!

4

1 回答 1

0

造成这种情况的原因是炸弹的纹理不在正确的 BatchNode 中。直到我删除了多余的子类并仅使用了精灵,该错误才触发。

收到的错误是:'CCSprite is not using the same texture id'

一旦我使用了另一个批处理节点,一切都完美无缺。希望这对某人有帮助!

于 2013-04-26T20:35:12.643 回答