在我的游戏中,我有类似于 Doodle Jump 的平台。它们每个都有自己的动画,但最终它们都有相同的 b2ContactListener 标记。现在我正在使用 CCSprite,但我认为这行不通。我应该怎么做?
目前我正在使用 CCSprite,我遇到了这个崩溃(SIGABRT):
2011-11-19 15:56:57.555 App[11306:707] *** Assertion failure in -[CCLayerClass addChild:z:tag:], /Users/myName/Desktop/Projects/MyProjectName/MyProject/cocos2d/CCNode.m:390
2011-11-19 15:56:57.557 App[11306:707] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Argument must be non-nil'
我认为这是因为我的 CCSprite 不正确?但我不确定为什么它是零。我在我的 .h 中声明它然后在我的 spawn 方法中我这样做(伪代码):
if (object type is NSString) {
[CCSprite spriteWithfile:];
}
else {
[CCSprite spriteWithCGImage:];
}
[self addChild mySprite];
此外,如果我在 if 语句中使用断点,它会显示超出范围。关于我如何才能正常工作的任何想法?
谢谢!
答:我最终解决了这个问题,因为我访问 UIImage 的方式不正确。我现在通过转换对象类型来修复它,然后它就起作用了。同样就效率而言,我正在调用我不想要的游戏循环之类的一种方法,所以我现在正在修复它。