在我的游戏中,我有类似于涂鸦跳跃的平台。他们每个人都有自己的动画,但最终他们都有相同的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中声明它,然后在我的派生方法中这样做(伪代码):
if (object type is NSString) {
[CCSprite spriteWithfile:];
}
else {
[CCSprite spriteWithCGImage:];
}
[self addChild mySprite];另外,如果我在if语句中使用断点,它表示超出作用域。对我如何才能正常工作有什么想法吗?
谢谢!
回答:最终修复了这个问题,因为我访问UIImage的方式是不正确的。我现在通过转换对象类型来修复它,然后它就开始工作了。此外,就效率而言,我把自己的一种方法称为游戏循环,我不想这样,所以我现在正在修复它。
发布于 2011-11-19 22:47:47
也许您只是忘了将创建的精灵分配给mySprite?
if (object type is NSString) {
mySprite = [CCSprite spriteWithfile:];
}
else {
mySprite = [CCSprite spriteWithCGImage:];
}
[self addChild mySprite];https://stackoverflow.com/questions/8197521
复制相似问题