0

嗨,我目前正在开发一款游戏,我的玩家在其中收集硬币等等。我已经为硬币实现了碰撞检测,并且正在工作,但是当我与硬币碰撞时,我想将硬币移动到分数标签上。分数标签位于我屏幕的右上角。我用于碰撞的代码如下所示。游戏正在使用 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 以检查其正确性。问题是当硬币移动时,它会向左和向下移动,而不是移动到指定的点。感谢您的任何帮助和建议。

4

2 回答 2

0

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

于 2015-03-08T22:53:41.937 回答
0

您说输出时知道标签位置,但是硬币位置呢,在移动前后返回什么?

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

于 2016-04-19T21:31:48.917 回答