90 lines
2.3 KiB
JavaScript
90 lines
2.3 KiB
JavaScript
var i = cc.Enum({
|
|
xunhuan: 1,
|
|
zhengchang: 0
|
|
});
|
|
cc.Class({
|
|
extends: cc.Component,
|
|
properties: {
|
|
Soldier: {
|
|
default: null,
|
|
type: sp.Skeleton,
|
|
displayName: "动画"
|
|
},
|
|
startTime: {
|
|
default: 0,
|
|
displayName: "起始延迟时间"
|
|
},
|
|
endTime: {
|
|
default: 0,
|
|
displayName: "结束延迟时间"
|
|
},
|
|
huanyuanTime: {
|
|
default: 1e3,
|
|
displayName: "还原时间"
|
|
},
|
|
aniName: {
|
|
default: "",
|
|
displayName: "要播放的动画名字"
|
|
},
|
|
aniNameHuanyuan: {
|
|
default: "",
|
|
displayName: "要还原的动画名字"
|
|
},
|
|
ainCishu: {
|
|
type: cc.Enum(i),
|
|
default: i.xunhuan,
|
|
displayName: "动画播放次数"
|
|
},
|
|
hideNode: {
|
|
type: cc.Node,
|
|
default: [],
|
|
displayName: "需要隐藏的节点"
|
|
},
|
|
showNode: {
|
|
type: cc.Node,
|
|
default: [],
|
|
displayName: "需要显示的节点"
|
|
},
|
|
eventNode_over: {
|
|
default: [],
|
|
type: cc.Node,
|
|
displayName: "需要合并的事件节点"
|
|
},
|
|
SkinName: {
|
|
default: "",
|
|
displayName: "要修改的皮肤名称"
|
|
}
|
|
},
|
|
start: function () {
|
|
this.node.switchEvent = this.switchEvent.bind(this);
|
|
this.xunhuan = true;
|
|
0 == this.ainCishu && (this.xunhuan = false);
|
|
},
|
|
switchEvent: function () {
|
|
var e = this;
|
|
console.log("播放动画");
|
|
cc.tween(this.node).delay(this.startTime).call(function () {
|
|
e.SkinName && e.Soldier.setSkin(e.SkinName);
|
|
e.Soldier && e.aniName && e.Soldier.setAnimation(0, e.aniName, e.xunhuan);
|
|
e.Soldier && e.aniNameHuanyuan && setTimeout(function () {
|
|
console.log("播放动画==================");
|
|
e.Soldier.setAnimation(0, e.aniNameHuanyuan, true);
|
|
}, e.huanyuanTime);
|
|
setTimeout(function () {
|
|
if (e.hideNode) {
|
|
for (var o = 0; o < e.hideNode.length; o++) {
|
|
e.hideNode[o].active = false;
|
|
}
|
|
}
|
|
if (e.showNode) {
|
|
for (var t = 0; t < e.showNode.length; t++) {
|
|
e.showNode[t].active = true;
|
|
}
|
|
}
|
|
for (var i = 0; i < e.eventNode_over.length; i++) {
|
|
e.eventNode_over[i] && e.eventNode_over[i].switchEvent();
|
|
}
|
|
}, e.endTime);
|
|
}).start();
|
|
}
|
|
}); |