使用Sprite Kit沿着不均匀的物理体移动

时间:2015-12-11 19:00:23

标签: ios sprite-kit skphysicsbody

我有一个不均匀但不是动态的物理体(地形)和一个动态且位于地形顶部的物理体(角色),我希望这个角色沿着地形移动模拟一种形状“行走”动作,它将继续沿着地形上升但不会因为重力而像球一样回落(或向后移动),并设置最大倾斜度以使其不会翻倒。

我的尝试是在我希望角色移动的方向上添加一个力,但这会导致角色因重力而后退,我不想禁用重力,因为这时角色不会掉下来走下地形。

非常感谢

2 个答案:

答案 0 :(得分:0)

这就是为什么使用物理引擎进行平台游戏是非常困难的,并不总是一个很好的方法..

您可以尝试sprite.physicsBody.allowsRotation = false

可能有帮助

答案 1 :(得分:0)

创建SKAction以将角色移动到目标点或dx和dy。使用runAction从角色节点运行SKAction。喜欢 SKAction.moveByX(...

当动作结束时,重力会使角色失望。

如果移动缓慢,请使用角色的物理体摩擦和/或质量。

您还可以更改角色的physicsBody.velocity = CGVectorMake(

使用edgeLoop physicsBody,你的地形会更好,这不会是动态的。

不均匀你意味着倾斜而且平滑?如果不平滑且有边缘,则根据角色的重心以及允许旋转,角色可能会被抬起。