자체 클래스에 "폭탄"CCSprite
이 있습니다 (cocos2d를 사용하지 않는 사람들이 이것을 읽으면 CCSprite는 NSObject입니다). 내가 .H에서 @class Bomb;
와 (프로처럼 HelloWorldLayer
) 내 게임 층에 추가MutableArray 크래시에 CCSprite (NSObject) 추가하기
Bomb.h:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
#import <OpenAL/al.h>
@class HelloWorldLayer;
@interface Bomb : CCSprite {
@private
int length;
}
@property (readwrite) int length;
@end
Bomb.m:
#import "Bomb.h"
@implementation Bomb
@synthesize length = _length;
@end
, 그리고 내 HWLayer.m aswell에 Bomb.h을 가져옵니다
CCSprite 파일은 다음과 같다 내 코드에서 사용하는 경우와, 여기에 있습니다 :
Bomb *bombe = [[Bomb alloc] init];
bombe.position = explosionPoint;
bombe.length = player.explosionLength; //player is another CCSprite class. This one is from the method. ....fromPlayer:(PlayerSprite *)player
//Logging here works, tested and the bombe.position is valid and .length is valid
[currentBombs addObject:bombe];
NSLog(@"%@",currentBombs); //Here doesn't, guessing crash is at^
로 말했다, 그것은 addObject:
라인에 충돌합니다. 나는 이유를 알 수 없다. 단지 클래스가 아닌 CCSprite를 Bomb
클래스로 대체했기 때문이다. 충돌은이 왼쪽에있는 것은 이들의 몇 천 출력 (lldb)
그냥 : 설명을 말한다, 그래서 오류가 내 CCSprite 서브 클래스의 가정 것이다
. 하지만 bombe. * 로깅은 정상적으로 작동했습니다!
왜 작동하지 않는 사람이 있습니까?
편집 :
. 디버그 네비게이터의 맨 아래에 슬라이더를 맨 오른쪽으로 놓으면 * all * 프레임이 표시 될 수 있습니다. –
@MartinR 예! 편집 된 질문을보십시오. 다른 것을 말합니까? –
그것은 확실히 무한 재귀처럼 보입니다. 메소드를 게시 할 수 있습니까? - [CCSprite description] 및 (구현 한 경우)'- [Bomb description]'? – Mar0ux