当前位置 : 主页 > 手机开发 > 其它 >

cocos 获取一个骨骼动画多次显示播放

来源:互联网 收集:自由互联 发布时间:2021-06-13
1 cc.Class({ 2 extends: cc.Component, 3 4 properties: { 5 donghuaNum: 10, // 构建的个数 6 ndDonghuaTemplate: cc.Node // 所要加载的骨骼 7 }, 8 9 // 本脚本需要添加到目标骨骼动画的父节点上 10 onLoad () { 11 var a
 1 cc.Class({
 2     extends: cc.Component,
 3 
 4     properties: {
 5         donghuaNum: 10,         // 构建的个数
 6         ndDonghuaTemplate: cc.Node      // 所要加载的骨骼
 7     },
 8 
 9     // 本脚本需要添加到目标骨骼动画的父节点上
10     onLoad () {
11         var armatureDisplay = this.ndDonghuaTemplate.getComponent(dragonBones.ArmatureDisplay);  // 加载骨骼
12         var animNameArr = armatureDisplay.getAnimationNames("armatureName");    // 获取骨骼动画的名称
13         cc.log(animNameArr);
14         for (var i = 0; i < this.donghuaNum; i++) {
15             var ndDonghua = cc.instantiate(this.ndDonghuaTemplate);
16             ndDonghua.position = this.getNewPos();
17             ndDonghua.parent = this.node;
18             var randIdx = parseInt(Math.random()*animNameArr.length);
19             var animName = animNameArr[randIdx];
20             cc.log(animName);
21             ndDonghua.getComponent(dragonBones.ArmatureDisplay).playAnimation(animName, 1);
22 
23         }
24     },
25 
26     getNewPos () { 
27         var randY = -375 + Math.random() * 200;
28         var randX = (Math.random() - 0.5) * 2 * 667;
29         return cc.v2(randX, randY);
30     },
31 
32 
33 });
网友评论