(NO.00003)iOS游戏简单的机器人投射游戏成形记(四)

通过在SpriteBuilder中使用PhysicsPivotJoint,学习如何将手臂固定在机器人身体上并实现转动功能。详细步骤包括调整关节位置、限制转动范围、避免引力影响等,最终实现手臂与地面保持平行的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上篇说道要想将手臂固定在机器人身体上,而且手臂还能转动,简单的办法是使用物理关节.但这不是只有这种办法.用关节固定物体有时候不能满足需要,这时必须自己动手写代码处理,后面会介绍另一种固定的方法.

在SpriteBuilder中打开Robot.cc,从控件库拖动一个Physics Pivot Joint到根节点上.
在SpriteBuilder中有3种关节,分别为Pivot关节,Distance关节和Spring关节.这里只用到第一种,后两种以后有机会再介绍.

调整Pivot关节位置,放到机器人身体的前上部,设置关节Body A为body,Body B为arm.然后将手臂拖拽到关节上,最后类似如下效果:

这里写图片描述

打开关节的Limit属性,我们这里限制关节的转动范围在前进方向180°内,也就是Min和Max分别设置值为-90和90:

这里写图片描述

其他属性保持不变.现在运行App,会发现关节固定在了身体上,但手臂会软软的垂下来,冲着地面.我们希望的效果是在开始时手臂与地面保持平行状态.为了达到这个效果,我们点击arm对象,在其物理属性中将Affected by gravity中的钩去掉:

这里写图片描述

这样手臂不会被引力所影响了,会”飘”在空中了.

我们还需要设置Robot的自定义类为Robot,body的代码连结为_body;
arm的自定义类为Arm,代码连结为_arm.

最后需要注意的是,所有添加到某个阶段的关节都自动成为该节点Joints对象的子节点,注意不是其根节点的子节点.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值