91 lines
2.1 KiB
JavaScript
91 lines
2.1 KiB
JavaScript
"use strict";
|
|
cc._RF.push(module, 'c750e4x/MBIVqWaHZIQtOu5', 'cmp.planesafk.role');
|
|
// Scripts/mod/pve/planesafk/cmp/cmp.planesafk.role.js
|
|
|
|
"use strict";
|
|
|
|
/******************************************************************
|
|
*
|
|
* 大富翁角色
|
|
*
|
|
******************************************************************/
|
|
|
|
var FxSpine = require("nx.fx.spine");
|
|
var ACTION_WALK = "float";
|
|
var ACTION_IDLE = "stand2";
|
|
var DEF_MODEL = "H30072";
|
|
cc.Class({
|
|
"extends": cc.Component,
|
|
properties: {
|
|
spAnim: {
|
|
"default": null,
|
|
type: FxSpine
|
|
}
|
|
},
|
|
// 设定角色
|
|
setModel: function setModel(_model, _cb) {
|
|
var _this = this;
|
|
this.points = [];
|
|
this.cbEvent = _cb;
|
|
var model = _model || DEF_MODEL;
|
|
var path = PathTool.getSpinePath(model, model, false);
|
|
this.spAnim.load(path, function (_e) {
|
|
if (!_e) {
|
|
_this.spAnim.action(ACTION_IDLE, true);
|
|
}
|
|
});
|
|
},
|
|
// 设置位置
|
|
setPosition: function setPosition(_pos) {
|
|
cc.Tween.stopAllByTarget(this);
|
|
this.node.position(_pos);
|
|
this.points = [];
|
|
},
|
|
// 移动路径
|
|
pushPaths: function pushPaths(_pts, _reset) {
|
|
if (_reset === void 0) {
|
|
_reset = true;
|
|
}
|
|
// 空路径
|
|
if (nx.dt.arrEmpty(_pts)) {
|
|
return;
|
|
}
|
|
if (_reset) {
|
|
this.cur = null;
|
|
this.points = [];
|
|
cc.Tween.stopAllByTarget(this.node);
|
|
}
|
|
this.points = this.points.concat(_pts);
|
|
|
|
// 下一步
|
|
this.toNext();
|
|
},
|
|
// 下一步
|
|
toNext: function toNext() {
|
|
var _this2 = this;
|
|
// 到底
|
|
if (nx.dt.arrEmpty(this.points)) {
|
|
nx.dt.fnInvoke(this.cbEvent, "end");
|
|
this.spAnim.action(ACTION_IDLE, true);
|
|
return;
|
|
}
|
|
|
|
// 开始
|
|
if (!this.cur) {
|
|
nx.dt.fnInvoke(this.cbEvent, "start");
|
|
}
|
|
this.spAnim.action(ACTION_WALK, true);
|
|
this.cur = this.points.shift();
|
|
cc.tween(this.node).to(0.5, {
|
|
position: this.cur
|
|
}).call(function () {
|
|
_this2.toNext();
|
|
}).start();
|
|
|
|
// 方向调整
|
|
var pos = this.node.position;
|
|
this.spAnim.node.scaleX = this.cur.x < pos.x ? -1 : 1;
|
|
}
|
|
});
|
|
|
|
cc._RF.pop(); |