Я делаю приложение для iPhone.Все, что вам нужно знать, это то, что есть главный класс с именем ArcherClass, и есть класс с именем Player.
в классе Player, это то, как я настраиваю различные части тела (я создал фигурку,и части его тела двигаются отдельно, поэтому я создал класс только для фигурки).
Player.h _ __ _ __
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface Player : CCLayer {
CGPoint position;
float angle;
}
@property (nonatomic, assign) CGPoint *position;
@property (nonatomic, assign) CGPoint *angle;
+(id)player;
+(id)bow;
+(id)setHead;
+(id)setBody;
+(id)setLeftArm1;
+(id)setLeftArm2;
+(id)setRightArm1;
+(id)setRightArm2;
-(void)setAngles:(float)angle;
@end
Это весь заголовочный файл, позже я планирую реализовать все это в файле .m.Но только для того, чтобы я мог дать общее представление о том, что я спрашиваю, вот часть незаконченного файла .m:
Player.m_ _ __ _ ___
#import "Player.h"
@implementation Player
@synthesize position = _position;
@synthesize angle = _angle;
+(id)player{
Player *playerSprite = nil;
return playerSprite;
}
+(id)arm{
Player *playerSprite = nil;
playerSprite = [CCSprite spriteWithFile:@"arm.png"];
return playerSprite;
Я планирую сделать все отдельные части тела Игрока таким образом.Вот реализация основного класса:
ArcherClass.m_ _ __ _ _
//Skipped alot of stuff. Not the point.
Player *person = nil;
CCSprite *bob = [Player arm];
bob.position = ccp(160,160);
[self addChild:bob z:3];
//above shows how I access the Person Class and use the function arm
Я чувствую, чтоЯ делаю это неправильно.То, как я сделал эту плохую практику?Есть ли лучший способ получить доступ к спрайту в другом классе и использовать его?Любая обратная связь была бы отличной, спасибо.