我的 _player 有一个 SKSpriteNode,并且 _player 节点有两个子节点组成我的角色。
具有此配置的精灵的角色朝右。
当我需要角色面朝左时,我尝试使用 xScale = -1.0 但是当我这样做时,框架似乎并没有反映屏幕上看到的内容,因为我的 CGRectIntersectsRect 表现得好像角色仍然面向原始方向。
除了 cgrect 问题,我将角色旋转到对象,所以我最终不得不做这样的事情:
if( sprite.xScale == -1.0){
sprite.zRotation = atan2f(direction.y, direction.x);
} else {
sprite.zRotation = atan2f(-direction.y, -direction.x);
}
什么是翻转播放器的正确方法。如果我使用 xScale,对于我的碰撞检测来说,数学似乎会变得不必要地复杂。我是否需要两个面向每个方向的玩家实例。我需要两组精灵吗?