Я делаю игру (очевидно), и я заметил, что мой файл HelloWorldLayer.m становится ЧРЕЗВЫЧАЙНО тесным. Я ЗНАЮ, что есть способ запускать методы из других .m файлов, я просто не знаю как. Например, я хочу иметь файл Character.h и Character.m. Могу ли я сделать это на уровне инициализации HelloWorldLayer, он просто использует все из файлов символов вместо того, чтобы объявлять все в HelloWorldLayer? Я надеюсь, что мой вопрос имеет смысл, и любая помощь приветствуется. Спасибо!
Вот Персонаж.m:
@implementation Character
@synthesize health,velocity;
-(void)dealloc {
[super dealloc];
}
-(id)initWithTexture:(CCTexture2D *)texture rect:(CGRect)rect
{
if((self = [super initWithTexture:texture rect:rect]))
{
[self scheduleUpdate];
}
return self;
}
-(void)update:(ccTime)dt {
[self setPosition:ccp(self.position.x,self.position.y)];
self = [CCSprite spriteWithFile:@"nukeboyGreen.gif"];
}
@end
А вот HelloWorldLayer.m (я сократил его и вынул ненужные части):
self = [super init];
if( (self=[super initWithColor:ccc4(255,255,255,255)] )) {
CGSize winSize = [[CCDirector sharedDirector] winSize];
character = [Character spriteWithFile:@"nukeboyGreeen.gif"];
character.position = ccp(winSize.width/2,winSize.height/2);
character.scale = 0.15;
[self addChild:character];
Обратите внимание, что у меня есть персонаж, объявленный в HelloWorldLayer.h