您好我正在开发一款游戏,其中我的玩家收集硬币等等。我已经实现了硬币的碰撞检测,这是有效的,但是当我与硬币碰撞时,我想将硬币移动到分数标签。分数标签位于屏幕的右上角。我可以在下面看到用于碰撞的代码。正在使用精灵构建器开发游戏,这就是碰撞可能看起来不同的原因。
-(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,我已经记录了这个以检查它是否正确。问题是当硬币移动时它向左和向下移动,它没有移动到指定的点。感谢您的任何帮助和建议。
答案 0 :(得分:0)
职位与其父母有关,因此请检查硬币的父母和分数标签的父母是否相同。这可能是问题所在。
答案 1 :(得分:0)
你说在输出时你知道标签的位置,但硬币位置怎么样,这在移动之前和之后返回了什么?
如果你进入SpriteBuilder并单击物理节点并确保它在属性面板(顶部,右侧窗口)中位于(0,0)。