Compare commits
2 Commits
5574e905a7
...
6e2b99b4f8
Author | SHA1 | Date | |
---|---|---|---|
6e2b99b4f8 | |||
9e7f168956 |
@ -871,6 +871,10 @@ action
|
||||
| disableShop_s
|
||||
| follow_s
|
||||
| unfollow_s
|
||||
| setanimate_s
|
||||
| deleteanimate_s
|
||||
| playanimate_s
|
||||
| clearanimate_s
|
||||
| animate_s
|
||||
| animate_1_s
|
||||
| stopAnimate_s
|
||||
@ -2221,6 +2225,136 @@ var code = '{"type": "vibrate", "direction": "'+Vibrate_List_0+'", "time": '+Int
|
||||
return code;
|
||||
*/;
|
||||
|
||||
setanimate_s
|
||||
: '新建 帧动画/特效' '名称' EvalString '参照点偏移像素x' IntString? 'y' IntString? '动画大小 宽' IntString '高' IntString '总帧数' IntString BGNL?Newline
|
||||
'图片序列(同一帧后面覆盖先前的,默认起始帧为0,结束帧为最后一帧)'BGNL?Newline
|
||||
'(剪裁区域不填写为全图,绘制区域不填写为全画面)'BGNL?Newline
|
||||
'(透明度100为不透明,默认为不透明,结束透明度默认与开始透明度相同)'BGNL?Newline
|
||||
animateDrawableimage+? Newline
|
||||
'音频序列(到达对应帧进行播放)'BGNL?Newline
|
||||
animateDrawablesound+? Newline
|
||||
|
||||
/* setanimate_s
|
||||
tooltip : setanimate:设置帧动画/特效(此项仅储存,不播放)
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["sword","","",192,192,60]
|
||||
colour : this.soundColor
|
||||
IntString_0 = IntString_0 ? (', "px": '+IntString_0+'') : '';
|
||||
IntString_1 = IntString_1 ? (', "py": '+IntString_1+'') : '';
|
||||
var imageList=animateDrawableimage_0?',"imageList": [\n'+animateDrawableimage_0.slice(0,-1)+'\n]':''
|
||||
var soundList=animateDrawablesound_0?',"soundList": [\n'+animateDrawablesound_0.slice(0,-1)+'\n]':''
|
||||
var code = '{"type": "setanimate", "name": "'+EvalString_0+'",'+IntString_0+IntString_1+' "width": '+IntString_2+', "height": '+IntString_3+', "allFarme": '+IntString_4+imageList+soundList+'},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
animateDrawableList
|
||||
: animateDrawableimage
|
||||
| animateDrawablesound
|
||||
| animateDrawabletextEmpty;
|
||||
|
||||
animateDrawableimage
|
||||
: '图片' EvalString? '起始帧' IntString? '起始透明度' IntString? BGNL? Newline
|
||||
'剪裁坐标cx' IntString? 'cy' IntString? '宽' IntString? '高' IntString? '绘制坐标x'IntString? 'y' IntString? '宽' IntString? '高' IntString?'旋转角度'IntString? BGNL? Newline
|
||||
'结束帧' IntString? '结束透明度' IntString? '剪裁坐标cx' IntString? 'cy' IntString? '宽' IntString? '高' IntString? '绘制坐标x'IntString? 'y' IntString? '宽' IntString? '高' IntString?'旋转角度'IntString? Newline
|
||||
/* animateDrawableimage
|
||||
tooltip : 帧动画图片列表
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["","","","","","","","","","","","","","","","","","","","","","",""]
|
||||
colour : this.subColor
|
||||
allImages : ['EvalString_0']
|
||||
if (IntString_1&&(IntString_1 < 0||IntString_1>100)) throw new Error('透明度范围为0-100,0为透明,100为不透明,不填默认为不透明')
|
||||
if (IntString_12&&(IntString_12 < 0||IntString_12>100)) throw new Error('透明度范围为0-100,0为透明,100为不透明,不填默认为不透明')
|
||||
IntString_0 = IntString_0 ? (', "beforefarme": '+IntString_0+'') : '';
|
||||
IntString_1 = IntString_1 ? (', "globalAlpha": '+IntString_1+'') : '';
|
||||
IntString_2 = IntString_2 ? (', "cx": '+IntString_2+'') : '';
|
||||
IntString_3 = IntString_3 ? (', "cy": '+IntString_3+'') : '';
|
||||
IntString_4 = IntString_4 ? (', "cw": '+IntString_4+'') : '';
|
||||
IntString_5 = IntString_5 ? (', "ch": '+IntString_5+'') : '';
|
||||
IntString_6 = IntString_6 ? (', "x": '+IntString_6+'') : '';
|
||||
IntString_7 = IntString_7 ? (', "y": '+IntString_7+'') : '';
|
||||
IntString_8 = IntString_8 ? (', "w": '+IntString_8+'') : '';
|
||||
IntString_9 = IntString_9 ? (', "h": '+IntString_9+'') : '';
|
||||
IntString_10 = IntString_10 ? (', "angle": '+IntString_10+'') : '';
|
||||
|
||||
IntString_11 = IntString_11 ? (', "afterfarme": '+IntString_11+'') : '';
|
||||
IntString_12 = IntString_12 ? (', "aglobalAlpha": '+IntString_12+'') : '';
|
||||
IntString_13 = IntString_13 ? (', "acx": '+IntString_13+'') : '';
|
||||
IntString_14 = IntString_14 ? (', "acy": '+IntString_14+'') : '';
|
||||
IntString_15 = IntString_15? (', "acw": '+IntString_15+'') : '';
|
||||
IntString_16 = IntString_16 ? (', "ach": '+IntString_16+'') : '';
|
||||
IntString_17 = IntString_17 ? (', "ax": '+IntString_17+'') : '';
|
||||
IntString_18 = IntString_18 ? (', "ay": '+IntString_18+'') : '';
|
||||
IntString_19 = IntString_19 ? (', "aw": '+IntString_19+'') : '';
|
||||
IntString_20 = IntString_20 ? (', "ah": '+IntString_20+'') : '';
|
||||
IntString_21 = IntString_21 ? (', "aangle": '+IntString_21+'') : '';
|
||||
return '{ "image":"'+EvalString_0+'"'+IntString_0+IntString_1+IntString_2+IntString_3+IntString_4+IntString_5+IntString_6+IntString_7+IntString_8+IntString_9+IntString_10+IntString_11+IntString_12+IntString_13+IntString_14+IntString_15+IntString_16+IntString_17+IntString_18+IntString_19+IntString_20+IntString_21+'},'
|
||||
*/;
|
||||
|
||||
animateDrawablesound
|
||||
: '音效' EvalString? '起始帧' IntString '是否停止其他音效'Bool Newline
|
||||
|
||||
/* animateDrawablesound
|
||||
tooltip : 帧动画配音
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["",0,false]
|
||||
colour : this.subColor
|
||||
allSounds : ['EvalString_0']
|
||||
|
||||
return '{ "sound":"'+EvalString_0+'","startfarme":'+IntString_0+',"stopbefore":'+Bool_0+'},'
|
||||
*/;
|
||||
|
||||
animateDrawabletextEmpty
|
||||
: Newline
|
||||
|
||||
/* animateDrawabletextEmpty
|
||||
var code = [];
|
||||
return code;
|
||||
*/;
|
||||
|
||||
deleteanimate_s
|
||||
: '删除 帧动画/特效' '名称' EvalString Newline
|
||||
|
||||
/* deleteanimate_s
|
||||
tooltip : deleteanimate:删除储存的帧动画
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : [""]
|
||||
|
||||
colour : this.soundColor
|
||||
|
||||
var code = '{"type": "deleteanimate", "name": "'+EvalString_0+'"},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
playanimate_s
|
||||
: '播放 帧动画/特效' '名称' EvalString '像素x' IntString? 'y' IntString? '跟随勇士' Bool 'x方向缩放' IntString? 'y方向缩放'IntString? Newline
|
||||
|
||||
/* playanimate_s
|
||||
tooltip : playanimate:播放帧动画,选择跟随勇士后x、y将失效改为勇士中心坐标
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["zone","","",false,"",""]
|
||||
|
||||
colour : this.soundColor
|
||||
IntString_0 = IntString_0 ? (', "x": '+IntString_0+'') : '';
|
||||
IntString_1 = IntString_1 ? (', "y": '+IntString_1+'') : '';
|
||||
IntString_2 = IntString_2 ? (', "scalex": '+IntString_2+'') : '';
|
||||
IntString_3 = IntString_3 ? (', "scaley": '+IntString_3+'') : '';
|
||||
var code = '{"type": "playanimate", "name": "'+EvalString_0+'"'+IntString_0+IntString_1+',"hero":'+Bool_0+IntString_2+IntString_3+'},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
clearanimate_s
|
||||
: '清空正在播放的帧动画/特效'
|
||||
|
||||
/* clearanimate_s
|
||||
tooltip : clearanimate:清空正在播放的帧动画
|
||||
helpUrl : /_docs/#/instruction
|
||||
|
||||
colour : this.soundColor
|
||||
|
||||
var code = '{"type": "clearanimate"},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
animate_s
|
||||
: '显示动画' EvalString '位置' 'x' PosString? 'y' PosString? '相对窗口坐标' Bool '不等待执行完毕' Bool Newline
|
||||
|
||||
|
@ -703,6 +703,85 @@ MotaActionParser = function () {
|
||||
this.next,
|
||||
]);
|
||||
break;
|
||||
case "setanimate":
|
||||
var buildanimateDrawableimage = function (obj) {
|
||||
obj = MotaActionFunctions.processanimateDrawableimage(obj || []);
|
||||
var res = null;
|
||||
for (var ii = obj.length - 1, one; (one = obj[ii]); ii--) {
|
||||
res = MotaActionBlocks["animateDrawableimage"].xmlText([
|
||||
one[0],
|
||||
one[1],
|
||||
one[2],
|
||||
one[3],
|
||||
one[4],
|
||||
one[5],
|
||||
one[6],
|
||||
one[7],
|
||||
one[8],
|
||||
one[9],
|
||||
one[10],
|
||||
one[11],
|
||||
one[12],
|
||||
one[13],
|
||||
one[14],
|
||||
one[15],
|
||||
one[16],
|
||||
one[17],
|
||||
one[18],
|
||||
one[19],
|
||||
one[20],
|
||||
one[21],
|
||||
one[22],
|
||||
res,
|
||||
]);
|
||||
}
|
||||
return res;
|
||||
};
|
||||
var buildanimateDrawablesound = function (obj) {
|
||||
obj = MotaActionFunctions.processanimateDrawablesound(obj || []);
|
||||
var res = null;
|
||||
for (var ii = obj.length - 1, one; (one = obj[ii]); ii--) {
|
||||
res = MotaActionBlocks["animateDrawablesound"].xmlText([
|
||||
one[0],
|
||||
one[1],
|
||||
one[2],
|
||||
res,
|
||||
]);
|
||||
}
|
||||
return res;
|
||||
};
|
||||
this.next = MotaActionBlocks["setanimate_s"].xmlText([
|
||||
data.name,
|
||||
data.px,
|
||||
data.py,
|
||||
data.width,
|
||||
data.height,
|
||||
data.allFarme,
|
||||
buildanimateDrawableimage(data.imageList),
|
||||
buildanimateDrawablesound(data.soundList),
|
||||
this.next,
|
||||
]);
|
||||
break;
|
||||
case "clearanimate":
|
||||
this.next = MotaActionBlocks["clearanimate_s"].xmlText([this.next]);
|
||||
break;
|
||||
case "deleteanimate":
|
||||
this.next = MotaActionBlocks["deleteanimate_s"].xmlText([
|
||||
this.name,
|
||||
this.next,
|
||||
]);
|
||||
break;
|
||||
case "playanimate":
|
||||
this.next = MotaActionBlocks["playanimate_s"].xmlText([
|
||||
this.name,
|
||||
this.x,
|
||||
this.y,
|
||||
this.hero,
|
||||
this.scalex,
|
||||
this.scaley,
|
||||
this.next,
|
||||
]);
|
||||
break;
|
||||
case "animationDrawable":
|
||||
var buildanimationDrawableimage = function (obj) {
|
||||
obj = MotaActionFunctions.processanimationDrawableimage(obj || []);
|
||||
@ -2876,7 +2955,44 @@ MotaActionParser = function () {
|
||||
});
|
||||
return list;
|
||||
};
|
||||
|
||||
MotaActionFunctions.processanimateDrawableimage = function (overList) {
|
||||
var list = [];
|
||||
overList.forEach(function (one) {
|
||||
list.push([
|
||||
one.image,
|
||||
one.beforefarme,
|
||||
one.globalAlpha,
|
||||
one.cx,
|
||||
one.cy,
|
||||
one.cw,
|
||||
one.ch,
|
||||
one.x,
|
||||
one.y,
|
||||
one.w,
|
||||
one.h,
|
||||
one.angle,
|
||||
one.afterfarme,
|
||||
one.aglobalAlpha,
|
||||
one.acx,
|
||||
one.acy,
|
||||
one.acw,
|
||||
one.ach,
|
||||
one.ax,
|
||||
one.ay,
|
||||
one.aw,
|
||||
one.ah,
|
||||
one.aangle,
|
||||
]);
|
||||
});
|
||||
return list;
|
||||
};
|
||||
MotaActionFunctions.processanimateDrawablesound = function (overList) {
|
||||
var list = [];
|
||||
overList.forEach(function (one) {
|
||||
list.push([one.sound, one.startfarme, one.stopbefore]);
|
||||
});
|
||||
return list;
|
||||
};
|
||||
MotaActionFunctions.processMultiLoc = function (EvalString_0, EvalString_1) {
|
||||
var floorstr = "";
|
||||
if (EvalString_0 && EvalString_1) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"viewportLoc": [0, 0],
|
||||
"editorLastFloorId": "yiqu2",
|
||||
"editorLastFloorId": "jiedao",
|
||||
"lastUsed": [
|
||||
{
|
||||
"idnum": 210,
|
||||
|
@ -57,7 +57,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
"dl.webp",
|
||||
"dlr.webp",
|
||||
"dr.webp",
|
||||
"dragon.webp",
|
||||
"eve_010102.webp",
|
||||
"eve_010203.webp",
|
||||
"eve_010304.webp",
|
||||
@ -406,14 +405,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
||||
],
|
||||
"font": "pala"
|
||||
},
|
||||
"splitImages": [
|
||||
{
|
||||
"name": "dragon.webp",
|
||||
"width": 384,
|
||||
"height": 96,
|
||||
"prefix": "dragon_"
|
||||
}
|
||||
]
|
||||
"splitImages": null
|
||||
},
|
||||
"firstData": {
|
||||
"title": "秽翼的尤斯蒂娅",
|
||||
|
@ -35,7 +35,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"whiteHornSlime": {"name":"尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"redSwordsman": {"name":"剑王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
|
||||
"poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":[12]},
|
||||
"octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"bigImage":"dragon_1.webp"},
|
||||
"octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"bigImage":null},
|
||||
"princessEnemy": {"name":"假公主","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
@ -52,7 +52,7 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
||||
"magicMaster": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"exp":0,"point":0,"special":11,"value":0.3333333333333333,"add":true,"notBomb":true},
|
||||
"devilWarrior": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"fairyEnemy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"dragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"bigImage":"dragon_0.webp"},
|
||||
"dragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"bigImage":null},
|
||||
"skeletonKnight": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"skeletonPresbyter": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
"ironRock": {"name":"铁面人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
|
||||
|
@ -1071,7 +1071,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// TODO:增加自己的一些读档处理
|
||||
core.ui.statusBar.clearItemInfo()
|
||||
core.ui.statusBar.update();
|
||||
|
||||
core.plugin.playing.clear()
|
||||
// 切换到对应的楼层
|
||||
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {
|
||||
// TODO:可以在这里设置读档后播放BGM
|
||||
@ -1387,68 +1387,68 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
};
|
||||
},
|
||||
"moveOneStep": function (callback) {
|
||||
// 勇士每走一步后执行的操作。callback为行走完毕后的回调
|
||||
// 这个函数执行在“刚走完”的时候,即还没有检查该点的事件和领域伤害等。
|
||||
// 请注意:瞬间移动不会执行该函数。如果要控制能否瞬间移动有三种方法:
|
||||
// 1. 将全塔属性中的cannotMoveDirectly这个开关勾上,即可在全塔中全程禁止使用瞬移。
|
||||
// 2, 将楼层属性中的cannotMoveDirectly这个开关勾上,即禁止在该层楼使用瞬移。
|
||||
// 3. 将flag:cannotMoveDirectly置为true,即可使用flag控制在某段剧情范围内禁止瞬移。
|
||||
// 勇士每走一步后执行的操作。callback为行走完毕后的回调
|
||||
// 这个函数执行在“刚走完”的时候,即还没有检查该点的事件和领域伤害等。
|
||||
// 请注意:瞬间移动不会执行该函数。如果要控制能否瞬间移动有三种方法:
|
||||
// 1. 将全塔属性中的cannotMoveDirectly这个开关勾上,即可在全塔中全程禁止使用瞬移。
|
||||
// 2, 将楼层属性中的cannotMoveDirectly这个开关勾上,即禁止在该层楼使用瞬移。
|
||||
// 3. 将flag:cannotMoveDirectly置为true,即可使用flag控制在某段剧情范围内禁止瞬移。
|
||||
|
||||
// 增加步数
|
||||
core.status.hero.steps++;
|
||||
// 更新跟随者状态,并绘制
|
||||
core.updateFollowers();
|
||||
core.drawHero();
|
||||
// 检查中毒状态的扣血和死亡
|
||||
if (core.hasFlag('poison')) {
|
||||
core.status.hero.statistics.poisonDamage += core.values.poisonDamage;
|
||||
core.status.hero.hp -= core.values.poisonDamage;
|
||||
if (core.status.hero.hp <= 0) {
|
||||
core.status.hero.hp = 0;
|
||||
core.updateStatusBar(false, true);
|
||||
core.events.lose();
|
||||
return;
|
||||
} else {
|
||||
core.updateStatusBar(false, true);
|
||||
}
|
||||
}
|
||||
// 增加步数
|
||||
core.status.hero.steps++;
|
||||
// 更新跟随者状态,并绘制
|
||||
core.updateFollowers();
|
||||
core.drawHero();
|
||||
// 检查中毒状态的扣血和死亡
|
||||
if (core.hasFlag('poison')) {
|
||||
core.status.hero.statistics.poisonDamage += core.values.poisonDamage;
|
||||
core.status.hero.hp -= core.values.poisonDamage;
|
||||
if (core.status.hero.hp <= 0) {
|
||||
core.status.hero.hp = 0;
|
||||
core.updateStatusBar(false, true);
|
||||
core.events.lose();
|
||||
return;
|
||||
} else {
|
||||
core.updateStatusBar(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
// 从v2.7开始,每一步行走不会再刷新状态栏。
|
||||
// 如果有特殊要求(如每走一步都加buff之类),可手动取消注释下面这一句:
|
||||
// core.updateStatusBar(true, true);
|
||||
// 从v2.7开始,每一步行走不会再刷新状态栏。
|
||||
// 如果有特殊要求(如每走一步都加buff之类),可手动取消注释下面这一句:
|
||||
// core.updateStatusBar(true, true);
|
||||
|
||||
// 检查自动事件
|
||||
core.checkAutoEvents();
|
||||
// 检查自动事件
|
||||
core.checkAutoEvents();
|
||||
|
||||
// ------ 检查目标点事件 ------ //
|
||||
// 无事件的道具(如血瓶)需要优先于阻激夹域判定
|
||||
var nowx = core.getHeroLoc('x'),
|
||||
nowy = core.getHeroLoc('y');
|
||||
var block = core.getBlock(nowx, nowy);
|
||||
var hasTrigger = false;
|
||||
if (block != null && block.event.trigger == 'getItem' &&
|
||||
!core.floors[core.status.floorId].afterGetItem[nowx + "," + nowy]) {
|
||||
hasTrigger = true;
|
||||
core.trigger(nowx, nowy, callback);
|
||||
}
|
||||
// 执行目标点的阻激夹域事件
|
||||
core.checkBlock();
|
||||
// ------ 检查目标点事件 ------ //
|
||||
// 无事件的道具(如血瓶)需要优先于阻激夹域判定
|
||||
var nowx = core.getHeroLoc('x'),
|
||||
nowy = core.getHeroLoc('y');
|
||||
var block = core.getBlock(nowx, nowy);
|
||||
var hasTrigger = false;
|
||||
if (block != null && block.event.trigger == 'getItem' &&
|
||||
!core.floors[core.status.floorId].afterGetItem[nowx + "," + nowy]) {
|
||||
hasTrigger = true;
|
||||
core.trigger(nowx, nowy, callback);
|
||||
}
|
||||
// 执行目标点的阻激夹域事件
|
||||
core.checkBlock();
|
||||
|
||||
// 执行目标点的script和事件
|
||||
if (!hasTrigger)
|
||||
core.trigger(nowx, nowy, callback);
|
||||
// 执行目标点的script和事件
|
||||
if (!hasTrigger)
|
||||
core.trigger(nowx, nowy, callback);
|
||||
|
||||
// 检查该点是否是滑冰
|
||||
if (core.onSki()) {
|
||||
// 延迟到事件最后执行,因为这之前可能有阻激夹域动画
|
||||
core.insertAction({ "type": "moveAction" }, null, null, null, true);
|
||||
}
|
||||
// 检查该点是否是滑冰
|
||||
if (core.onSki()) {
|
||||
// 延迟到事件最后执行,因为这之前可能有阻激夹域动画
|
||||
core.insertAction({ "type": "moveAction" }, null, null, null, true);
|
||||
}
|
||||
|
||||
// ------ 检查目标点事件 END ------ //
|
||||
// ------ 检查目标点事件 END ------ //
|
||||
|
||||
// 如需强行终止行走可以在这里条件判定:
|
||||
// core.stopAutomaticRoute();
|
||||
},
|
||||
// 如需强行终止行走可以在这里条件判定:
|
||||
// core.stopAutomaticRoute();
|
||||
},
|
||||
"moveDirectly": function (x, y, ignoreSteps) {
|
||||
// 瞬间移动;x,y为要瞬间移动的点;ignoreSteps为减少的步数,可能之前已经被计算过
|
||||
// 返回true代表成功瞬移,false代表没有成功瞬移
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB |
3322
project/plugins.js
3322
project/plugins.js
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user