Получить позицию 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];