【问题标题】:Invisible Box2d Sprite using Position?使用位置的隐形 Box2d 精灵?
【发布时间】:2012-12-05 19:34:13
【问题描述】:

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

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

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

【问题讨论】:

  • 任何想法...为此苦苦挣扎:S 如果需要,我可以提供更多细节。

标签: objective-c ios cocos2d-iphone


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多