Compare commits
2 Commits
5574e905a7
...
6e2b99b4f8
Author | SHA1 | Date | |
---|---|---|---|
6e2b99b4f8 | |||
9e7f168956 |
@ -871,6 +871,10 @@ action
|
|||||||
| disableShop_s
|
| disableShop_s
|
||||||
| follow_s
|
| follow_s
|
||||||
| unfollow_s
|
| unfollow_s
|
||||||
|
| setanimate_s
|
||||||
|
| deleteanimate_s
|
||||||
|
| playanimate_s
|
||||||
|
| clearanimate_s
|
||||||
| animate_s
|
| animate_s
|
||||||
| animate_1_s
|
| animate_1_s
|
||||||
| stopAnimate_s
|
| stopAnimate_s
|
||||||
@ -2221,6 +2225,136 @@ var code = '{"type": "vibrate", "direction": "'+Vibrate_List_0+'", "time": '+Int
|
|||||||
return code;
|
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
|
animate_s
|
||||||
: '显示动画' EvalString '位置' 'x' PosString? 'y' PosString? '相对窗口坐标' Bool '不等待执行完毕' Bool Newline
|
: '显示动画' EvalString '位置' 'x' PosString? 'y' PosString? '相对窗口坐标' Bool '不等待执行完毕' Bool Newline
|
||||||
|
|
||||||
|
@ -703,6 +703,85 @@ MotaActionParser = function () {
|
|||||||
this.next,
|
this.next,
|
||||||
]);
|
]);
|
||||||
break;
|
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":
|
case "animationDrawable":
|
||||||
var buildanimationDrawableimage = function (obj) {
|
var buildanimationDrawableimage = function (obj) {
|
||||||
obj = MotaActionFunctions.processanimationDrawableimage(obj || []);
|
obj = MotaActionFunctions.processanimationDrawableimage(obj || []);
|
||||||
@ -2876,7 +2955,44 @@ MotaActionParser = function () {
|
|||||||
});
|
});
|
||||||
return list;
|
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) {
|
MotaActionFunctions.processMultiLoc = function (EvalString_0, EvalString_1) {
|
||||||
var floorstr = "";
|
var floorstr = "";
|
||||||
if (EvalString_0 && EvalString_1) {
|
if (EvalString_0 && EvalString_1) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"viewportLoc": [0, 0],
|
"viewportLoc": [0, 0],
|
||||||
"editorLastFloorId": "yiqu2",
|
"editorLastFloorId": "jiedao",
|
||||||
"lastUsed": [
|
"lastUsed": [
|
||||||
{
|
{
|
||||||
"idnum": 210,
|
"idnum": 210,
|
||||||
|
@ -57,7 +57,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
|||||||
"dl.webp",
|
"dl.webp",
|
||||||
"dlr.webp",
|
"dlr.webp",
|
||||||
"dr.webp",
|
"dr.webp",
|
||||||
"dragon.webp",
|
|
||||||
"eve_010102.webp",
|
"eve_010102.webp",
|
||||||
"eve_010203.webp",
|
"eve_010203.webp",
|
||||||
"eve_010304.webp",
|
"eve_010304.webp",
|
||||||
@ -406,14 +405,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
|||||||
],
|
],
|
||||||
"font": "pala"
|
"font": "pala"
|
||||||
},
|
},
|
||||||
"splitImages": [
|
"splitImages": null
|
||||||
{
|
|
||||||
"name": "dragon.webp",
|
|
||||||
"width": 384,
|
|
||||||
"height": 96,
|
|
||||||
"prefix": "dragon_"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"firstData": {
|
"firstData": {
|
||||||
"title": "秽翼的尤斯蒂娅",
|
"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},
|
"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":[]},
|
"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]},
|
"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},
|
"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},
|
"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},
|
"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},
|
"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},
|
"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},
|
"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},
|
"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},
|
"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},
|
"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:增加自己的一些读档处理
|
// TODO:增加自己的一些读档处理
|
||||||
core.ui.statusBar.clearItemInfo()
|
core.ui.statusBar.clearItemInfo()
|
||||||
core.ui.statusBar.update();
|
core.ui.statusBar.update();
|
||||||
|
core.plugin.playing.clear()
|
||||||
// 切换到对应的楼层
|
// 切换到对应的楼层
|
||||||
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {
|
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {
|
||||||
// TODO:可以在这里设置读档后播放BGM
|
// TODO:可以在这里设置读档后播放BGM
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 19 KiB |
@ -122,8 +122,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
data.image,
|
data.image,
|
||||||
data.memory,
|
data.memory,
|
||||||
data.hidetime || 30,
|
data.hidetime || 30,
|
||||||
data.list || [
|
data.list || [{
|
||||||
{
|
|
||||||
text: "",
|
text: "",
|
||||||
sound: "",
|
sound: "",
|
||||||
time: 50,
|
time: 50,
|
||||||
@ -131,8 +130,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
boldColor: "#000000",
|
boldColor: "#000000",
|
||||||
font: "bold 48px Verdana",
|
font: "bold 48px Verdana",
|
||||||
frame: 0,
|
frame: 0,
|
||||||
},
|
}, ]
|
||||||
]
|
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
core.doAction();
|
core.doAction();
|
||||||
@ -158,6 +156,38 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
core.doAction();
|
core.doAction();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
core.registerEvent("setanimate", function (data) {
|
||||||
|
|
||||||
|
data.px = data.px ?? 0;
|
||||||
|
data.py = data.py ?? 0;
|
||||||
|
core.setanimate(data.name, data.px, data.py, data.width, data.height, data.allFarme, data.imageList, data.soundList)
|
||||||
|
core.doAction();
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
core.registerEvent("clearanimate", function (data) {
|
||||||
|
core.plugin.playing.clear()
|
||||||
|
|
||||||
|
core.doAction();
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
|
core.registerEvent("deleteanimate", function (data) {
|
||||||
|
core.deleteanimate(data.name)
|
||||||
|
core.doAction();
|
||||||
|
});
|
||||||
|
core.registerEvent("playanimate", function (data) {
|
||||||
|
if (!main.replayChecking && !core.isReplaying()) {
|
||||||
|
data.x = data.x ?? 0
|
||||||
|
data.y = data.y ?? 0
|
||||||
|
data.scalex = data.scalex ?? 1
|
||||||
|
data.scaley = data.scaley ?? 1
|
||||||
|
core.playanimate(data.name, data.x, data.y, data.hero, data.scalex, data.scaley)
|
||||||
|
core.doAction();
|
||||||
|
} else {
|
||||||
|
core.doAction();
|
||||||
|
}
|
||||||
|
});
|
||||||
core.registerEvent("cgtext", function (data) {
|
core.registerEvent("cgtext", function (data) {
|
||||||
if (!main.replayChecking && !core.isReplaying()) {
|
if (!main.replayChecking && !core.isReplaying()) {
|
||||||
core.ui.cgText.image = data.bg;
|
core.ui.cgText.image = data.bg;
|
||||||
@ -2632,6 +2662,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
].style.height = innerSize;
|
].style.height = innerSize;
|
||||||
core.dom.gif.style.width = core.dom.gif.style.height = innerSize;
|
core.dom.gif.style.width = core.dom.gif.style.height = innerSize;
|
||||||
core.dom.gif2.style.width = core.dom.gif2.style.height = innerSize;
|
core.dom.gif2.style.width = core.dom.gif2.style.height = innerSize;
|
||||||
|
|
||||||
core.dom.gameDraw.style.width = core.dom.gameDraw.style.height =
|
core.dom.gameDraw.style.width = core.dom.gameDraw.style.height =
|
||||||
innerSize;
|
innerSize;
|
||||||
core.dom.gameDraw.style.top =
|
core.dom.gameDraw.style.top =
|
||||||
@ -2660,7 +2691,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
canvas.style.top =
|
canvas.style.top =
|
||||||
parseFloat(canvas.getAttribute("_top")) * core.domStyle.scale + "px";
|
parseFloat(canvas.getAttribute("_top")) * core.domStyle.scale + "px";
|
||||||
}
|
}
|
||||||
|
|
||||||
// resize next
|
// resize next
|
||||||
main.dom.next.style.width = main.dom.next.style.height =
|
main.dom.next.style.width = main.dom.next.style.height =
|
||||||
5 * core.domStyle.scale + "px";
|
5 * core.domStyle.scale + "px";
|
||||||
@ -2762,12 +2792,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
const totalWidthScaled = totalWidth * core.domStyle.scale,
|
const totalWidthScaled = totalWidth * core.domStyle.scale,
|
||||||
totalHeightScaled = totalHeight * core.domStyle.scale;
|
totalHeightScaled = totalHeight * core.domStyle.scale;
|
||||||
|
|
||||||
const gameDrawBox = isVertical ?
|
const gameDrawBox = isVertical ? {
|
||||||
{
|
|
||||||
left: BORDER_WIDTH / 3,
|
left: BORDER_WIDTH / 3,
|
||||||
top: BAR_HEIGHT_VERTICAL / 3 + BORDER_HEIGHT / 3,
|
top: BAR_HEIGHT_VERTICAL / 3 + BORDER_HEIGHT / 3,
|
||||||
} :
|
} : { left: BAR_WIDTH / 3 + BORDER_WIDTH / 3, top: BORDER_HEIGHT / 3 };
|
||||||
{ left: BAR_WIDTH / 3 + BORDER_WIDTH / 3, top: BORDER_HEIGHT / 3 };
|
|
||||||
|
|
||||||
const obj = {
|
const obj = {
|
||||||
clientWidth: clientWidth,
|
clientWidth: clientWidth,
|
||||||
@ -3402,12 +3430,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
this._update_infoWindow();
|
this._update_infoWindow();
|
||||||
}
|
}
|
||||||
_update_toolBox() {
|
_update_toolBox() {
|
||||||
const tools = core.isReplaying() ?
|
const tools = core.isReplaying() ? [
|
||||||
[
|
|
||||||
[core.status.replay.pausing ? "play" : "pause", "stop", "rewind"],
|
[core.status.replay.pausing ? "play" : "pause", "stop", "rewind"],
|
||||||
["speedDown", "speedUp", "save"],
|
["speedDown", "speedUp", "save"],
|
||||||
] :
|
] : [
|
||||||
[
|
|
||||||
["keyboard", "shop", "pack", "T332"],
|
["keyboard", "shop", "pack", "T332"],
|
||||||
["settings", "save", "load", "T331"],
|
["settings", "save", "load", "T331"],
|
||||||
];
|
];
|
||||||
@ -8680,18 +8706,15 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
* @type {{[EvnetName:actionParserJson]}}
|
* @type {{[EvnetName:actionParserJson]}}
|
||||||
*/
|
*/
|
||||||
events_c12a15a8_c380_4b28_8144_256cba95f760.CommonEventTemplate = {
|
events_c12a15a8_c380_4b28_8144_256cba95f760.CommonEventTemplate = {
|
||||||
检测音乐如果没有开启则系统提示开启: [
|
检测音乐如果没有开启则系统提示开启: [{
|
||||||
{
|
|
||||||
type: "if",
|
type: "if",
|
||||||
condition: "!core.musicStatus.bgmStatus",
|
condition: "!core.musicStatus.bgmStatus",
|
||||||
true: [
|
true: [
|
||||||
"\t[系统提示]你当前音乐处于关闭状态,本塔开音乐游戏效果更佳",
|
"\t[系统提示]你当前音乐处于关闭状态,本塔开音乐游戏效果更佳",
|
||||||
],
|
],
|
||||||
false: [],
|
false: [],
|
||||||
},
|
}, ],
|
||||||
],
|
仿新新魔塔一次性商人: [{
|
||||||
仿新新魔塔一次性商人: [
|
|
||||||
{
|
|
||||||
type: "if",
|
type: "if",
|
||||||
condition: "switch:A",
|
condition: "switch:A",
|
||||||
true: [
|
true: [
|
||||||
@ -8706,16 +8729,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
time: 250,
|
time: 250,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
false: [
|
false: [{
|
||||||
{
|
|
||||||
type: "confirm",
|
type: "confirm",
|
||||||
text: "我有3把黄钥匙,\n你出50金币就卖给你。",
|
text: "我有3把黄钥匙,\n你出50金币就卖给你。",
|
||||||
yes: [
|
yes: [{
|
||||||
{
|
|
||||||
type: "if",
|
type: "if",
|
||||||
condition: "status:money>=50",
|
condition: "status:money>=50",
|
||||||
true: [
|
true: [{
|
||||||
{
|
|
||||||
type: "setValue",
|
type: "setValue",
|
||||||
name: "status:money",
|
name: "status:money",
|
||||||
operator: "-=",
|
operator: "-=",
|
||||||
@ -8738,22 +8758,17 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
value: "true",
|
value: "true",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
false: [
|
false: [{
|
||||||
{
|
|
||||||
type: "playSound",
|
type: "playSound",
|
||||||
name: "操作失败",
|
name: "操作失败",
|
||||||
},
|
},
|
||||||
"\t[行商,trader]\b[this]你的金币不足!",
|
"\t[行商,trader]\b[this]你的金币不足!",
|
||||||
],
|
],
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
no: [],
|
no: [],
|
||||||
},
|
}, ],
|
||||||
],
|
}, ],
|
||||||
},
|
全地图选中一个点: [{
|
||||||
],
|
|
||||||
全地图选中一个点: [
|
|
||||||
{
|
|
||||||
type: "comment",
|
type: "comment",
|
||||||
text: "全地图选中一个点,需要用鼠标或触屏操作",
|
text: "全地图选中一个点,需要用鼠标或触屏操作",
|
||||||
},
|
},
|
||||||
@ -8774,8 +8789,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
{
|
{
|
||||||
type: "while",
|
type: "while",
|
||||||
condition: "true",
|
condition: "true",
|
||||||
data: [
|
data: [{
|
||||||
{
|
|
||||||
type: "drawSelector",
|
type: "drawSelector",
|
||||||
image: "winskin.webp",
|
image: "winskin.webp",
|
||||||
code: 1,
|
code: 1,
|
||||||
@ -8790,16 +8804,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
{
|
{
|
||||||
type: "if",
|
type: "if",
|
||||||
condition: "(flag:type === 1)",
|
condition: "(flag:type === 1)",
|
||||||
true: [
|
true: [{
|
||||||
{
|
|
||||||
type: "if",
|
type: "if",
|
||||||
condition: "((temp:X===flag:x)&&(temp:Y===flag:y))",
|
condition: "((temp:X===flag:x)&&(temp:Y===flag:y))",
|
||||||
true: [
|
true: [{
|
||||||
{
|
|
||||||
type: "break",
|
type: "break",
|
||||||
n: 1,
|
n: 1,
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "setValue",
|
type: "setValue",
|
||||||
@ -8829,8 +8840,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
loc: ["temp:X", "temp:Y"],
|
loc: ["temp:X", "temp:Y"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
多阶段Boss战斗: [
|
多阶段Boss战斗: [{
|
||||||
{
|
|
||||||
type: "comment",
|
type: "comment",
|
||||||
text: "多阶段boss,请直接作为战后事件使用",
|
text: "多阶段boss,请直接作为战后事件使用",
|
||||||
},
|
},
|
||||||
@ -8843,11 +8853,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
{
|
{
|
||||||
type: "switch",
|
type: "switch",
|
||||||
condition: "switch:A",
|
condition: "switch:A",
|
||||||
caseList: [
|
caseList: [{
|
||||||
{
|
|
||||||
case: "1",
|
case: "1",
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "setBlock",
|
type: "setBlock",
|
||||||
number: "redSlime",
|
number: "redSlime",
|
||||||
},
|
},
|
||||||
@ -8856,8 +8864,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
case: "2",
|
case: "2",
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "setBlock",
|
type: "setBlock",
|
||||||
number: "blackSlime",
|
number: "blackSlime",
|
||||||
},
|
},
|
||||||
@ -8866,8 +8873,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
case: "3",
|
case: "3",
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "setBlock",
|
type: "setBlock",
|
||||||
number: "slimelord",
|
number: "slimelord",
|
||||||
},
|
},
|
||||||
@ -9121,8 +9127,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
],
|
],
|
||||||
"event"
|
"event"
|
||||||
),
|
),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse({
|
||||||
{
|
|
||||||
condition: "flag:__door__===2",
|
condition: "flag:__door__===2",
|
||||||
currentFloor: true,
|
currentFloor: true,
|
||||||
priority: 0,
|
priority: 0,
|
||||||
@ -9134,17 +9139,14 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
),
|
),
|
||||||
MotaActionBlocks["changeFloor_m"].xmlText(),
|
MotaActionBlocks["changeFloor_m"].xmlText(),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse(
|
||||||
[
|
[{
|
||||||
{
|
|
||||||
id: "shop1",
|
id: "shop1",
|
||||||
text: "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:",
|
text: "\t[贪婪之神,moneyShop]勇敢的武士啊, 给我${20+2*flag:shop1}金币就可以:",
|
||||||
textInList: "1F金币商店",
|
textInList: "1F金币商店",
|
||||||
choices: [
|
choices: [{
|
||||||
{
|
|
||||||
text: "生命+800",
|
text: "生命+800",
|
||||||
need: "status:money>=20+2*flag:shop1",
|
need: "status:money>=20+2*flag:shop1",
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "comment",
|
type: "comment",
|
||||||
text: "新版商店中需要手动扣减金币和增加访问次数",
|
text: "新版商店中需要手动扣减金币和增加访问次数",
|
||||||
},
|
},
|
||||||
@ -9167,8 +9169,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
value: "800",
|
value: "800",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "itemShop",
|
id: "itemShop",
|
||||||
@ -9194,26 +9195,25 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
MotaActionBlocks["eachArrive_m"].xmlText(),
|
MotaActionBlocks["eachArrive_m"].xmlText(),
|
||||||
MotaActionBlocks["level_m"].xmlText(),
|
MotaActionBlocks["level_m"].xmlText(),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse(
|
||||||
[["MTx", ""]],
|
[
|
||||||
|
["MTx", ""]
|
||||||
|
],
|
||||||
"floorPartition"
|
"floorPartition"
|
||||||
),
|
),
|
||||||
MotaActionBlocks["commonEvent_m"].xmlText(),
|
MotaActionBlocks["commonEvent_m"].xmlText(),
|
||||||
MotaActionBlocks["item_m"].xmlText(),
|
MotaActionBlocks["item_m"].xmlText(),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse(
|
||||||
[
|
[{
|
||||||
{
|
|
||||||
title: "简单",
|
title: "简单",
|
||||||
name: "Easy",
|
name: "Easy",
|
||||||
hard: 1,
|
hard: 1,
|
||||||
action: [
|
action: [
|
||||||
{ type: "comment", text: "在这里写该难度需执行的事件" },
|
{ type: "comment", text: "在这里写该难度需执行的事件" },
|
||||||
],
|
],
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
"levelChoose"
|
"levelChoose"
|
||||||
),
|
),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse({
|
||||||
{
|
|
||||||
type: 0,
|
type: 0,
|
||||||
value: { atk: 10 },
|
value: { atk: 10 },
|
||||||
percentage: { speed: 10 },
|
percentage: { speed: 10 },
|
||||||
@ -9221,18 +9221,15 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
"equip"
|
"equip"
|
||||||
),
|
),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse(
|
||||||
[
|
[{
|
||||||
{
|
|
||||||
name: "bg.webp",
|
name: "bg.webp",
|
||||||
x: 0,
|
x: 0,
|
||||||
y: 0,
|
y: 0,
|
||||||
canvas: "bg",
|
canvas: "bg",
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
"floorImage"
|
"floorImage"
|
||||||
),
|
),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse({
|
||||||
{
|
|
||||||
time: 160,
|
time: 160,
|
||||||
openSound: "door.mp3",
|
openSound: "door.mp3",
|
||||||
closeSound: "door.mp3",
|
closeSound: "door.mp3",
|
||||||
@ -9242,8 +9239,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
),
|
),
|
||||||
MotaActionBlocks["faceIds_m"].xmlText(),
|
MotaActionBlocks["faceIds_m"].xmlText(),
|
||||||
MotaActionBlocks["mainStyle_m"].xmlText(),
|
MotaActionBlocks["mainStyle_m"].xmlText(),
|
||||||
MotaActionFunctions.actionParser.parse(
|
MotaActionFunctions.actionParser.parse({
|
||||||
{
|
|
||||||
背景音乐: "bgm.mp3",
|
背景音乐: "bgm.mp3",
|
||||||
确定: "confirm.mp3",
|
确定: "confirm.mp3",
|
||||||
攻击: "attack.mp3",
|
攻击: "attack.mp3",
|
||||||
@ -9265,14 +9261,12 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
"\t[小妖精,fairy]\f[fairy.webp,0,0]欢迎使用事件编辑器(双击方块可直接预览)"
|
"\t[小妖精,fairy]\f[fairy.webp,0,0]欢迎使用事件编辑器(双击方块可直接预览)"
|
||||||
),
|
),
|
||||||
MotaActionBlocks["over_s"].xmlText(),
|
MotaActionBlocks["over_s"].xmlText(),
|
||||||
MotaActionFunctions.actionParser.parseList([
|
MotaActionFunctions.actionParser.parseList([{
|
||||||
{
|
|
||||||
type: "overlist",
|
type: "overlist",
|
||||||
image: "bg_5043.webp",
|
image: "bg_5043.webp",
|
||||||
memory: false,
|
memory: false,
|
||||||
hidetime: 30,
|
hidetime: 30,
|
||||||
list: [
|
list: [{
|
||||||
{
|
|
||||||
text: "",
|
text: "",
|
||||||
sound: "",
|
sound: "",
|
||||||
time: 50,
|
time: 50,
|
||||||
@ -9280,12 +9274,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
boldColor: "0,0,0,1",
|
boldColor: "0,0,0,1",
|
||||||
font: "bold 48px Verdana",
|
font: "bold 48px Verdana",
|
||||||
frame: 0,
|
frame: 0,
|
||||||
},
|
}, ],
|
||||||
],
|
}, ]),
|
||||||
},
|
MotaActionFunctions.actionParser.parseList([{
|
||||||
]),
|
|
||||||
MotaActionFunctions.actionParser.parseList([
|
|
||||||
{
|
|
||||||
type: "cgtext",
|
type: "cgtext",
|
||||||
bg: "bg_5043.webp",
|
bg: "bg_5043.webp",
|
||||||
memory: false,
|
memory: false,
|
||||||
@ -9299,8 +9290,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
bodyList: [
|
bodyList: [
|
||||||
{ name: "tati_050145a.webp", px: 100, filter: false },
|
{ name: "tati_050145a.webp", px: 100, filter: false },
|
||||||
],
|
],
|
||||||
},
|
}, ]),
|
||||||
]),
|
|
||||||
MotaActionBlocks["moveTextBox_s"].xmlText(),
|
MotaActionBlocks["moveTextBox_s"].xmlText(),
|
||||||
MotaActionBlocks["clearTextBox_s"].xmlText(),
|
MotaActionBlocks["clearTextBox_s"].xmlText(),
|
||||||
MotaActionBlocks["comment_s"].xmlText(),
|
MotaActionBlocks["comment_s"].xmlText(),
|
||||||
@ -9394,20 +9384,17 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
MotaActionFunctions.actionParser.parseList({
|
MotaActionFunctions.actionParser.parseList({
|
||||||
type: "switch",
|
type: "switch",
|
||||||
condition: "判别值",
|
condition: "判别值",
|
||||||
caseList: [
|
caseList: [{
|
||||||
{
|
|
||||||
action: [
|
action: [
|
||||||
{ type: "comment", text: "当判别值是值的场合执行此事件" },
|
{ type: "comment", text: "当判别值是值的场合执行此事件" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
case: "default",
|
case: "default",
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "comment",
|
type: "comment",
|
||||||
text: "当没有符合的值的场合执行default事件",
|
text: "当没有符合的值的场合执行default事件",
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
@ -9440,37 +9427,30 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
MotaActionFunctions.actionParser.parseList({
|
MotaActionFunctions.actionParser.parseList({
|
||||||
type: "wait",
|
type: "wait",
|
||||||
timeout: 0,
|
timeout: 0,
|
||||||
data: [
|
data: [{
|
||||||
{
|
|
||||||
case: "keyboard",
|
case: "keyboard",
|
||||||
keycode: "13,32",
|
keycode: "13,32",
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "comment",
|
type: "comment",
|
||||||
text: "当按下回车(keycode=13)或空格(keycode=32)时执行此事件\n超时剩余时间会写入flag:timeout",
|
text: "当按下回车(keycode=13)或空格(keycode=32)时执行此事件\n超时剩余时间会写入flag:timeout",
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
case: "mouse",
|
case: "mouse",
|
||||||
px: [0, 32],
|
px: [0, 32],
|
||||||
py: [0, 32],
|
py: [0, 32],
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "comment",
|
type: "comment",
|
||||||
text: "当点击地图左上角时执行此事件\n超时剩余时间会写入flag:timeout",
|
text: "当点击地图左上角时执行此事件\n超时剩余时间会写入flag:timeout",
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
case: "condition",
|
case: "condition",
|
||||||
condition: "flag:type==0\n&&flag:keycode==13",
|
condition: "flag:type==0\n&&flag:keycode==13",
|
||||||
action: [
|
action: [{
|
||||||
{
|
|
||||||
type: "comment",
|
type: "comment",
|
||||||
text: "当满足自定义条件时会执行此事件\n超时剩余时间会写入flag:timeout",
|
text: "当满足自定义条件时会执行此事件\n超时剩余时间会写入flag:timeout",
|
||||||
},
|
}, ],
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
case: "timeout",
|
case: "timeout",
|
||||||
@ -9487,6 +9467,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
MotaActionBlocks["changeMouse_s"].xmlText(),
|
MotaActionBlocks["changeMouse_s"].xmlText(),
|
||||||
MotaActionBlocks["removeMouse_s"].xmlText(),
|
MotaActionBlocks["removeMouse_s"].xmlText(),
|
||||||
MotaActionBlocks["vibrate_s"].xmlText(),
|
MotaActionBlocks["vibrate_s"].xmlText(),
|
||||||
|
MotaActionBlocks["setanimate_s"].xmlText(),
|
||||||
|
MotaActionBlocks["deleteanimate_s"].xmlText(),
|
||||||
|
MotaActionBlocks["playanimate_s"].xmlText(),
|
||||||
|
MotaActionBlocks["clearanimate_s"].xmlText(),
|
||||||
MotaActionBlocks["animate_s"].xmlText(),
|
MotaActionBlocks["animate_s"].xmlText(),
|
||||||
MotaActionBlocks["animate_1_s"].xmlText(),
|
MotaActionBlocks["animate_1_s"].xmlText(),
|
||||||
MotaActionBlocks["stopAnimate_s"].xmlText(),
|
MotaActionBlocks["stopAnimate_s"].xmlText(),
|
||||||
@ -9508,6 +9492,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
],
|
],
|
||||||
音像处理: [
|
音像处理: [
|
||||||
MotaActionBlocks["animationDrawable_s"].xmlText(),
|
MotaActionBlocks["animationDrawable_s"].xmlText(),
|
||||||
|
MotaActionBlocks["setanimate_s"].xmlText(),
|
||||||
|
MotaActionBlocks["deleteanimate_s"].xmlText(),
|
||||||
|
MotaActionBlocks["playanimate_s"].xmlText(),
|
||||||
|
MotaActionBlocks["clearanimate_s"].xmlText(),
|
||||||
MotaActionBlocks["showImage_s"].xmlText(),
|
MotaActionBlocks["showImage_s"].xmlText(),
|
||||||
MotaActionBlocks["showImage_1_s"].xmlText(),
|
MotaActionBlocks["showImage_1_s"].xmlText(),
|
||||||
MotaActionBlocks["hideImage_s"].xmlText(),
|
MotaActionBlocks["hideImage_s"].xmlText(),
|
||||||
@ -9684,10 +9672,11 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
var list = toolboxObj["入口方块"];
|
var list = toolboxObj["入口方块"];
|
||||||
var xmlList = [];
|
var xmlList = [];
|
||||||
var eventType =
|
var eventType =
|
||||||
(editor_blockly.isCommonEntry()
|
(editor_blockly.isCommonEntry() ?
|
||||||
? "common"
|
"common" :
|
||||||
: editor_blockly.entryType) + "_m";
|
editor_blockly.entryType) + "_m";
|
||||||
for (var ii = 0, blockText; (blockText = list[ii]); ii++) {
|
for (var ii = 0, blockText;
|
||||||
|
(blockText = list[ii]); ii++) {
|
||||||
if (
|
if (
|
||||||
new RegExp('<block type="' + eventType + '">').exec(blockText)
|
new RegExp('<block type="' + eventType + '">').exec(blockText)
|
||||||
) {
|
) {
|
||||||
@ -9742,14 +9731,16 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
var mousewheelOffsetValue =
|
var mousewheelOffsetValue =
|
||||||
(20 / 380) * workspace.scrollbar[hvScroll].handleLength_ * 3;
|
(20 / 380) * workspace.scrollbar[hvScroll].handleLength_ * 3;
|
||||||
workspace.scrollbar[hvScroll].handlePosition_ +=
|
workspace.scrollbar[hvScroll].handlePosition_ +=
|
||||||
(e.deltaY || 0) + (e.detail || 0) > 0
|
(e.deltaY || 0) + (e.detail || 0) > 0 ?
|
||||||
? mousewheelOffsetValue
|
mousewheelOffsetValue :
|
||||||
: -mousewheelOffsetValue;
|
-mousewheelOffsetValue;
|
||||||
workspace.scrollbar[hvScroll].onScroll_();
|
workspace.scrollbar[hvScroll].onScroll_();
|
||||||
// workspace.setScale(workspace.scale);
|
// workspace.setScale(workspace.scale);
|
||||||
};
|
};
|
||||||
|
|
||||||
var doubleClickCheck = [[0, "abc"]];
|
var doubleClickCheck = [
|
||||||
|
[0, "abc"]
|
||||||
|
];
|
||||||
|
|
||||||
function omitedcheckUpdateFunction(event) {
|
function omitedcheckUpdateFunction(event) {
|
||||||
if (event.type === "create") {
|
if (event.type === "create") {
|
||||||
@ -9833,7 +9824,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
">"
|
">"
|
||||||
);
|
);
|
||||||
if (!inputs) inputs = [];
|
if (!inputs) inputs = [];
|
||||||
for (var ii = 0, inputType; (inputType = rule.argsType[ii]); ii++) {
|
for (var ii = 0, inputType;
|
||||||
|
(inputType = rule.argsType[ii]); ii++) {
|
||||||
var input = inputs[ii];
|
var input = inputs[ii];
|
||||||
var _input = "";
|
var _input = "";
|
||||||
var noinput = input === null || input === undefined;
|
var noinput = input === null || input === undefined;
|
||||||
@ -10142,10 +10134,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
core.__PIXELS__,
|
core.__PIXELS__,
|
||||||
71
|
71
|
||||||
);
|
);
|
||||||
core.dymCanvas.popMove.canvas.style.width =
|
ctx.canvas.classList.add('gameCanvas', 'anti-aliasing')
|
||||||
core.__PIXELS__ * core.domStyle.scale + "px";
|
|
||||||
core.dymCanvas.popMove.canvas.style.height =
|
|
||||||
core.__PIXELS__ * core.domStyle.scale + "px";
|
|
||||||
core.clearMap(ctx);
|
core.clearMap(ctx);
|
||||||
if (core.status.replay.speed <= 3 && !flags.stopPop) {
|
if (core.status.replay.speed <= 3 && !flags.stopPop) {
|
||||||
var list = core.status.popMove || [];
|
var list = core.status.popMove || [];
|
||||||
@ -12390,6 +12379,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
core.__PIXELS__,
|
core.__PIXELS__,
|
||||||
90
|
90
|
||||||
);
|
);
|
||||||
|
ctx.canvas.classList.add('gameCanvas', 'anti-aliasing')
|
||||||
core.clearMap(ctx);
|
core.clearMap(ctx);
|
||||||
core.setTextAlign("pop", "left");
|
core.setTextAlign("pop", "left");
|
||||||
var list = core.status.pop || [];
|
var list = core.status.pop || [];
|
||||||
@ -14223,7 +14213,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
core.musicStatus.soundStatus;
|
core.musicStatus.soundStatus;
|
||||||
if (farme == one.startfarme && lisen) {
|
if (farme == one.startfarme && lisen) {
|
||||||
if (one.stopbefore) core.stopSound();
|
if (one.stopbefore) core.stopSound();
|
||||||
core.playSound(sound);
|
core.playSound(one.sound);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
farme++;
|
farme++;
|
||||||
@ -14489,5 +14479,149 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
core.towebp(image);
|
core.towebp(image);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
},
|
||||||
|
"帧动画特效(游戏界面)": function () {
|
||||||
|
// 在此增加新插件
|
||||||
|
const animate2 = document.createElement("canvas"); //画布设置
|
||||||
|
animate2.style.zIndex = 71;
|
||||||
|
animate2.id = "animate2";
|
||||||
|
animate2.classList.add('gameCanvas', 'anti-aliasing')
|
||||||
|
animate2.style.display = "block"
|
||||||
|
animate2.width = 416
|
||||||
|
animate2.height = 416
|
||||||
|
animate2.style.width = core.__PIXELS__ * core.domStyle.scale + 'px'
|
||||||
|
animate2.style.height = core.__PIXELS__ * core.domStyle.scale + 'px'
|
||||||
|
main.dom.animate2 = animate2;
|
||||||
|
const anctx = animate2.getContext('2d')
|
||||||
|
|
||||||
|
main.dom.gameDraw.appendChild(animate2);
|
||||||
|
|
||||||
|
core.plugin.playing = new Set()
|
||||||
|
|
||||||
|
this.setanimate = function (name,
|
||||||
|
px,
|
||||||
|
py,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
allFarme,
|
||||||
|
imageList,
|
||||||
|
soundList) {
|
||||||
|
const data = {
|
||||||
|
px: px,
|
||||||
|
py: py,
|
||||||
|
width: width,
|
||||||
|
height: height,
|
||||||
|
allFarme: allFarme,
|
||||||
|
imageList: imageList,
|
||||||
|
soundList: soundList
|
||||||
|
}
|
||||||
|
core.setFlag("animate_" + name, data)
|
||||||
|
|
||||||
|
}
|
||||||
|
this.deleteanimate = function (name) {
|
||||||
|
core.setFlag("animate_" + name)
|
||||||
|
|
||||||
|
}
|
||||||
|
let thistime = 0
|
||||||
|
this.playanimate = function (name, x, y, hero, scalex, scaley) {
|
||||||
|
const data = { name: name, x: x, y: y, hero: hero, scalex: scalex, scaley: scaley, farme: 0 }
|
||||||
|
|
||||||
|
core.plugin.playing.add(data)
|
||||||
|
|
||||||
|
}
|
||||||
|
core.registerAnimationFrame("animateonmap", true, function (timestamp) {
|
||||||
|
if (timestamp - thistime > 1000 / 60) {
|
||||||
|
thistime = timestamp;
|
||||||
|
core.clearMap(anctx)
|
||||||
|
core.plugin.playing.forEach(one => {
|
||||||
|
const data = flags["animate_" + one.name]
|
||||||
|
if (!data) {
|
||||||
|
core.plugin.playing.delete(one)
|
||||||
|
} else {
|
||||||
|
data.imageList.forEach(function (image) {
|
||||||
|
if (one.farme >= (image.beforefarme ?? 0) &&
|
||||||
|
one.farme <= (image.afterfarme ?? data.allFarme)
|
||||||
|
) {
|
||||||
|
const img = core.material.images.images?.[image.image];
|
||||||
|
if (img) {
|
||||||
|
const gla = image.globalAlpha ?? 100;
|
||||||
|
const agla = image.aglobalAlpha ?? gla,
|
||||||
|
beforefarme = image.beforefarme ?? 0;
|
||||||
|
const afterfarme = image.afterfarme ?? data.allFarme;
|
||||||
|
|
||||||
|
anctx.globalAlpha =
|
||||||
|
(gla +
|
||||||
|
((agla - gla) * (one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1)) /
|
||||||
|
100;
|
||||||
|
|
||||||
|
const cx =
|
||||||
|
(image.cx ?? 0) +
|
||||||
|
(((image.acx ?? 0) - (image.cx ?? 0)) *
|
||||||
|
(one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
cy =
|
||||||
|
(image.cy ?? 0) +
|
||||||
|
(((image.acy ?? 0) - (image.cy ?? 0)) *
|
||||||
|
(one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
cw =
|
||||||
|
(image.cw ?? img.width) +
|
||||||
|
(((image.acw ?? img.width) - (image.cw ?? img.width)) *
|
||||||
|
(one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
ch =
|
||||||
|
(image.ch ?? img.height) +
|
||||||
|
(((image.acw ?? img.height) - (image.cw ?? img.height)) *
|
||||||
|
(one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
x =
|
||||||
|
(image.x ?? 0) +
|
||||||
|
(((image.ax ?? 0) - (image.x ?? 0)) * (one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
y =
|
||||||
|
(image.y ?? 0) +
|
||||||
|
(((image.ay ?? 0) - (image.y ?? 0)) * (one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
w =
|
||||||
|
(image.w ?? one.width) +
|
||||||
|
(((image.aw ?? one.width) - (image.w ?? one.width)) *
|
||||||
|
(one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
h =
|
||||||
|
(image.h ?? one.height) +
|
||||||
|
(((image.aw ?? one.height) - (image.w ?? one.height)) *
|
||||||
|
(one.farme - beforefarme)) /
|
||||||
|
(afterfarme - beforefarme || 1),
|
||||||
|
angle = (Math.PI * (image.angel ?? 0) / 180) + ((Math.PI * (image.aangel ?? 0) / 180) - ((Math.PI * (image.angel ?? 0) / 180)) * (one.farme - beforefarme)) / (afterfarme - beforefarme || 1);
|
||||||
|
if (one.hero) {
|
||||||
|
let sx, sy;
|
||||||
|
if (core.status.heroMoving < 0) { sx = 0;
|
||||||
|
sy = 0 } else {
|
||||||
|
sx = core.utils.scan[core.status.hero.loc.direction].x * 4 * core.status.heroMoving
|
||||||
|
sy = core.utils.scan[core.status.hero.loc.direction].y * 4 * core.status.heroMoving
|
||||||
|
}
|
||||||
|
const herox = core.status.hero.loc.x * 32 + 16 + sx
|
||||||
|
const heroy = core.status.hero.loc.y * 32 + 16 + sy
|
||||||
|
core.drawImage(anctx, img, cx, cy, cw, ch, herox + (x - data.px) * one.scalex, heroy + (y - data.py) * one.scaley, w * one.scalex, h * one.scaley, angle)
|
||||||
|
} else { core.drawImage(anctx, img, cx, cy, cw, ch, one.x + (x - data.px) * one.scalex, one.y + (y - data.py) * one.scaley, w * one.scalex, h * one.scaley, angle); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
data.soundList.forEach(function (sound) {
|
||||||
|
const lisen = sound.sound && core.material.sounds[sound.sound] && core.musicStatus.soundStatus;
|
||||||
|
if (one.farme == sound.startfarme && lisen) {
|
||||||
|
if (sound.stopbefore) core.stopSound();
|
||||||
|
core.playSound(sound.sound);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
one.farme++;
|
||||||
|
if (one.farme > data.allFarme) core.plugin.playing.delete(one)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user