Получить позицию CCSprite

Я немного смущен. Я пытаюсь переместить одного CCSprite на позицию другого CCSprite. Я подумал, что это будет просто, но CCSprite не позиционируется правильно. У меня есть 2 CCSprites:

//Get Position of EMPTY SPRITE
CCSprite *sprite = (CCSprite*)[self getChildByName:[NSString stringWithFormat:@"%d", kEMPTY] recursively:NO];

 //GET DRAGGED SQUARE
 CCSprite *spriteMove = (CCSprite*)[self getChildByName:[NSString stringWithFormat:@"%d", DragStartSquare] recursively:NO];

Затем я пытаюсь получить позицию ПУСТОГО СПРИТА (на самом деле он не пустой), выполнив

CGPoint worldCoord = [sprite convertToWorldSpace: sprite.position];

Я тогда оживляю это с:

id action1 = [CCActionMoveTo actionWithDuration:duration position:worldCoord];

Это отправляет спрайт с экрана. Что я делаю неправильно?

1 ответ

Решение

Вам необходимо преобразовать обратно в пространство узлов целевого спрайта:

CGPoint targetNodeCoord = [spriteMove convertToNodeSpace: [sprite convertToWorldSpace: sprite.position]];
CCAction *action1 = [CCActionMoveTo actionWithDuration:duration position:targetNodeCoord];
Другие вопросы по тегам