egret-docs-master/DB/dbLibs/motionControlskeleton/README.md

21 lines
1.3 KiB
Markdown
Raw Permalink Normal View History

2024-06-19 13:32:32 +08:00
---
title: 控制骨骼运动
---
有的时候对于一个有趣的游戏仅仅播放预先设置的骨骼动画是不够的我们需要角色具有动态可控的动作。令人高兴的是DragonBones提供了访问并控制骨骼框架里每根骨头的方法让你的角色在游戏中随意运动。
下面示例通过鼠标在场景中的移动来控制骨骼。我们创建了一个跟随鼠标运动的小鸟,小龙人会与小鸟保持一定距离,同时小龙人的头和胳膊会跟随小鸟运动而做出不同姿势,非常有趣。完整的项目代码可以在示例中心下载此示例。
[程序控制骨骼运动](http://edn.egret.com/cn/index.php/article/index/id/691)
下面看一下实现这个功能的关键代码段。
~~~javascript
this.head = this.armature.getBone("head");
this.head.offset.rotation = r;
~~~
从上面代码我们可以看到通过方法dragonBones.Armature.getBone(_name:String):Bone来获取某个骨骼。骨骼中的offset是一个DBTransform对象是专门用于给开发者设置叠加的变换信息的包括平移旋转缩放等等。我们可以根据游戏逻辑的需要对设置这些参数从而实现动态控制此骨骼的效果。
>注意offset的值是叠加到骨骼上现有的变换并不是取代骨骼上现有的变换。
![](563ac3634b09d.gif)