博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(NO.00003)iOS游戏简单的机器人投射游戏成形记(四)
阅读量:5840 次
发布时间:2019-06-18

本文共 633 字,大约阅读时间需要 2 分钟。

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

在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对象的子节点,注意不是其根节点的子节点.

你可能感兴趣的文章
再次证明,基础是多么的重要
查看>>
网页编码就是那点事【zz】
查看>>
【示例】手把手教你构建一个简单的JavaWeb应用(会员注册唯一性检查,不带数据库)...
查看>>
ApexSQL Log-SQL误操作恢复工具
查看>>
看博客学学Android(十九)
查看>>
实验二 网络嗅探与欺骗
查看>>
BlueSea笔记<1>--Cricket初探
查看>>
ValueError: too many values to unpack (expected 2)
查看>>
重新从C语言开始学起
查看>>
[CF418E]Tricky Password
查看>>
The Oregon Trail 俄勒冈之旅
查看>>
算法(第4版) (Robert Sedgewick / Kevin Wayne 著)
查看>>
win10下一分钟快速搭建rtmp推流服务器
查看>>
JMeter学习-021-JMeter 定时器的应用
查看>>
min—width的使用
查看>>
MatlabTrick
查看>>
php安装
查看>>
时间序列异常检测算法S-H-ESD
查看>>
颠覆我的Thread.join()
查看>>
js数组
查看>>