CCActionMoveTo精灵向错误的方向移动

时间:2015-03-02 13:42:52

标签: spritebuilder cocos2d-swift

您好我正在开发一款游戏,其中我的玩家收集硬币等等。我已经实现了硬币的碰撞检测,这是有效的,但是当我与硬币碰撞时,我想将硬币移动到分数标签。分数标签位于屏幕的右上角。我可以在下面看到用于碰撞的代码。正在使用精灵构建器开发游戏,这就是碰撞可能看起来不同的原因。

    -(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,我已经记录了这个以检查它是否正确。问题是当硬币移动时它向左和向下移动,它没有移动到指定的点。感谢您的任何帮助和建议。

2 个答案:

答案 0 :(得分:0)

职位与其父母有关,因此请检查硬币的父母和分数标签的父母是否相同。这可能是问题所在。

答案 1 :(得分:0)

你说在输出时你知道标签的位置,但硬币位置怎么样,这在移动之前和之后返回了什么?

如果你进入SpriteBuilder并单击物理节点并确保它在属性面板(顶部,右侧窗口)中位于(0,0)。