Проблемы с платформами? (Cocos2D) - PullRequest
0 голосов
/ 20 ноября 2011

В моей игре есть платформы, похожие на 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, это говорит Out of Scope.Любые идеи о том, как я могу это правильно работать?

Спасибо!

Ответ: Я все исправил, потому что способ доступа к моему UIImage был неверным.Я закончил тем, что исправил это сейчас, приведя тип объекта, и тогда это сработало.Кроме того, что касается эффективности, я назвал свой единственный метод как игровой цикл, который мне не нужен, поэтому я исправляю это сейчас.

1 Ответ

1 голос
/ 20 ноября 2011

Возможно, вы просто забыли назначить созданные спрайты mySprite?

if (object type is NSString) {
mySprite = [CCSprite spriteWithfile:];
}
else {
mySprite = [CCSprite spriteWithCGImage:];
}
[self addChild mySprite];
...