随便找一组摩天轮素材,结构如下:
![](https://img.haomeiwen.com/i6285858/d6c657f5f3cb2b29.png)
新建一个cocos项目,并把素材拖拽进场景编辑器当中:
![](https://img.haomeiwen.com/i6285858/090f4e4b3affc43d.png)
第一步,首先要使轮盘转起来:
![](https://img.haomeiwen.com/i6285858/7e5bcdbdf6a38ee9.png)
添加一个clip文件,设置关键帧,我这里设置的是7m旋转360度,循环方式改为loop,属性检查器里面设置为入场自动播放:
![](https://img.haomeiwen.com/i6285858/1729a7c4b7b132a8.png)
![](https://img.haomeiwen.com/i6285858/096166518e6b187c.gif)
第二步:要想让轮盘和小篮子拥有物理属性,需要给这两个元素添加刚体组件,其中轮盘设为静态Static,小篮子设为动态Dynamic。
![](https://img.haomeiwen.com/i6285858/7312d7bb306e0ffb.png)
第三步:给小篮子添加物理组件中的骨骼动画的关节组件,将小篮子素材“c”于“b”绑定,并调整衔接的杆,如图中标注:
![](https://img.haomeiwen.com/i6285858/539e655fe6244866.png)
到这一步,发现,小篮子并没有跟随轮盘转起来,是由于没有开启小篮子的物理引擎,这时候我们需要写一段js。
![](https://img.haomeiwen.com/i6285858/967d24f3982a21d6.gif)
新建一个main.js,在onLoad生命周期函数中,开启物理引擎
onLoad () {
cc.director.getPhysicsManager().enabled = true;
cc.director.getCollisionManager().enabled = true;
},
并挂载到小篮子的节点的属性上:
![](https://img.haomeiwen.com/i6285858/bb2d8007f3c12fac.png)
效果如图所示:发现,小篮子走到了一点不走了。
![](https://img.haomeiwen.com/i6285858/98ef0c0c4857b482.gif)
修改bug:小篮子不走了需要去掉这个勾选,但是会导致cpu占用提高。
![](https://img.haomeiwen.com/i6285858/4a8fcb560e21baaf.png)
![](https://img.haomeiwen.com/i6285858/23fd02f238ab39ba.gif)
上面的步骤基本完成,为了节约开支,我们将小篮子拖拽到预制资源,避免了多个小篮子的重复生成
![](https://img.haomeiwen.com/i6285858/5e7e834cc8238fa5.png)
然后我们在场景中添加多个小篮子,但是每一个小篮子跟“另一端刚体”的锚点需要分别配置一下,运行,大功告成:
![](https://img.haomeiwen.com/i6285858/c0d33ee5ddfc2e56.gif)
demo地址:https://download.csdn.net/download/qq_41076441/12001114
cocosCreator版本号:2.1.1
网友评论