我正在尝试用Spritekit和 Swift编写iOS游戏,这是我在stackoverflow上的第一个问题:) 为了简化我的问题和我的约束,假设我有两个具有相同高度的矩形SKShapeNodes(我的级别),它们完全并排,物理主体
为了简化我的问题和我的约束,假设我有两个具有相同高度的矩形SKShapeNodes(我的级别),它们完全并排,物理主体但非动态.英雄只是一个方形的SKShapeNode,它有一个动态物理体,可以在这些矩形的顶部移动.玩家使用加速度计来移动英雄.
我不确定为什么,但有时,当英雄沿着矩形的顶部滑动时,它会立即停在两个矩形之间的间隙处,或者似乎在这个间隙上跳过(小跳过它):(( (此举应该是平稳的.
是否有一种解决方法可以使两个矩形之间的表面更“平坦”/更平滑,因为我知道我不能将它们合并为游戏目的?
(我尝试过的东西不起作用:“地板”所有尺寸,位置到最接近的Int值;使英雄物理体更圆;启用/禁用精确碰撞).
谢谢!
解决此问题的最简单方法是为移动对象而不是矩形创建圆形物理主体.如果需要,您还可以组合2个或更多物理实体,以更准确地覆盖对象的高度.请参阅 docs中使用(SKPhysicsBody *)bodyWithBodies:(NSArray *)实体.将2个物体与底部的圆圈合并: