CCActionMoveTo спрайт движется в неправильном направлении

Привет, я в настоящее время работаю над игрой, где мой игрок собирает монеты среди прочего. Я реализовал обнаружение столкновений для монет, и это работает, однако, когда я сталкиваюсь с монетой, я хочу переместить монету в метку счета. Метка счета расположена в верхнем правом углу моего экрана. Код, который я использую для столкновения, можно увидеть ниже. Игра разрабатывается с использованием Sprite Builder, поэтому столкновение может выглядеть по-другому.

    -(bool)ccPhysicsCollisionBegin:(CCPhysicsCollisionPair *)pair player:(CCNode *)Player coin:(CCNode *)coin
    {
       coin.physicsBody.Sensor = YES;
       NSLog(@" scoreLabel x:%f y:%f", _scoreLabel.position.x,_scoreLabel.position.y);
       id move = [CCActionMoveTo actionWithDuration:1.0f position:ccp(_scoreLabel.position.x, _scoreLabel.position.y);
       NSLog(@"coin positon x:%f y:%f", coin.position.x, coin.position.y);

       [coin runAction:move];
       return YES;
    }

Положение _scoreLabels равно 177, 20 я зарегистрировал это, чтобы проверить его правильность. Проблема в том, что когда монеты движутся, они движутся влево и вниз и не движутся к указанной точке. Спасибо за любую помощь и предложения.

2 ответа

Позиции связаны с их родителями, поэтому проверьте, совпадают ли родитель монеты и родитель метки счета. Это может быть проблемой.

Вы говорите, что знаете положение метки при выводе, но как насчет позиции монеты, что она возвращает до и после хода?

Если вы зайдете в SpriteBuilder и нажмете на физический узел и убедитесь, что он находится в точке (0,0) на панели свойств (верхнее, правое окно).

Другие вопросы по тегам