Я немного боролся с этим. Я пытаюсь избежать нескольких классов для объектов, которые я пытаюсь создать. По сути, у меня есть класс 'Letter', который имеет свойство letter. Когда я инициализирую объект, я устанавливаю тип буквы A, B, C ... Я делаю все это в цикле. Все вроде нормально.
Проблема в том, что когда я запускаю событие ccTouchesMoved, мне хотелось бы знать, перемещаю ли я объект типа Letter или B и т. Д.
Вот несколько фрагментов, чтобы показать, что я делаю:
Письмо класса
@implementation Letter
- (id)init {
if ((self = [super init])) {
gamePieceType = kLetterNotAssigned;
}
return self;
}
My Layer Init
for (int x=0; x < NUMBER_OF_ITEMS; x++) {
int randomX = random() % 1024;
[self createPuzzlePieceAtLocation:ccp(randomX, 600) withPiece:x];
}
Метод createPuzzlePieceAtLocation
- (void)createPuzzlePieceAtLocation:(CGPoint)location
withPiece:(int)tagValue {
switch (tagValue) {
case 1:
letterSprite = [[Letter alloc] initWithSpriteFrameName:@"upper_a.png"];
letterSprite.gamePieceType = kLetterA;
break;
...
}
[self createBodyAtLocation:location forSprite:letterSprite isBox:FALSE];
[sceneSpriteBatchNode addChild:letterSprite];
Есть мысли? Я получаю touchLocation в ccTouchesMoved, но как мне получить объект?