Compare commits
24 Commits
752bf18815
...
0d1872c16c
Author | SHA1 | Date | |
---|---|---|---|
0d1872c16c | |||
|
56713afd47 | ||
a7d11e8600 | |||
03c14b4ab8 | |||
1c101b549a | |||
2d79c528a2 | |||
6e2e6149f9 | |||
53b43bb6e1 | |||
|
266264e614 | ||
426a61972a | |||
53b06a58ff | |||
97c5998a01 | |||
105a35c087 | |||
d818ff36ff | |||
30b1731ebc | |||
cd6d511175 | |||
74e903905e | |||
99b6550fe1 | |||
e35c59ebf5 | |||
|
576a5e0a3b | ||
d391361900 | |||
db464dcde7 | |||
469cb98bc7 | |||
|
26aae0282f |
@ -1 +1 @@
|
||||
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=
|
@ -649,7 +649,7 @@ mainStyle_m
|
||||
|
||||
/* mainStyle_m
|
||||
tooltip : 主要样式设置
|
||||
default : ["project/images/bg.jpg", "project/images/bg.jpg", "color: white", "background-color: #32369F; opacity: 0.85; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;", "url(project/materials/ground.png) repeat", "url(project/materials/ground.png) repeat", "url(project/materials/ground.png) repeat", "background-color: black; color: white", "255,255,255,1", "rgba(255,255,255,1)", "204,204,204,1", "rgba(204,204,204,1)", "255,215,0,1", "rgba(255,215,0,1)", "Verdana"]
|
||||
default : ["project/images/bg.jpg", "project/images/bg.jpg", "color: white", "background-color: #32369F; opacity: 0.85; color: #FFFFFF; border: #FFFFFF 2px solid; caret-color: #FFD700;", "url(project/materials/ground.webp) repeat", "url(project/materials/ground.webp) repeat", "url(project/materials/ground.webp) repeat", "background-color: black; color: white", "255,255,255,1", "rgba(255,255,255,1)", "204,204,204,1", "rgba(204,204,204,1)", "255,215,0,1", "rgba(255,215,0,1)", "Verdana"]
|
||||
helpUrl : /_docs/#/instruction
|
||||
var code = {
|
||||
startBackground: EvalString_0,
|
||||
@ -788,7 +788,7 @@ splitImagesOne
|
||||
/* splitImagesOne
|
||||
tooltip : 图片裁剪项
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ['hero.png', 32, 32, 'hero_']
|
||||
default : ['hero.webp', 32, 32, 'hero_']
|
||||
material : ["./project/images/:images", "EvalString_0"]
|
||||
allImages : ['EvalString_0']
|
||||
var code = '{"name": "'+EvalString_0+'", "width": '+Int_0+', "height": '+Int_1+', "prefix": "'+EvalString_1+'"},\n';
|
||||
@ -853,10 +853,12 @@ action
|
||||
| wait_s
|
||||
| waitAsync_s
|
||||
| stopAsync_s
|
||||
| op_s
|
||||
| battle_s
|
||||
| battle_1_s
|
||||
| openDoor_s
|
||||
| closeDoor_s
|
||||
| changebg_s
|
||||
| changeFloor_s
|
||||
| changePos_s
|
||||
| setViewport_s
|
||||
@ -952,7 +954,9 @@ action
|
||||
| removeMouse_s
|
||||
| drawWarning_s
|
||||
| addPop_s
|
||||
| animationDrawable_s
|
||||
| over_s
|
||||
| overlist_s
|
||||
| playStereo_s
|
||||
| moveStereo_s
|
||||
| pass_s
|
||||
@ -1063,22 +1067,61 @@ return code+',\n';
|
||||
|
||||
over_s
|
||||
: '旁白文字' ':' EvalString BGNL? Newline
|
||||
'背景' EvalString? '持续时长' Int? '渐入渐出时长' Int? '音频文件' EvalString? BGNL? Newline
|
||||
'背景' EvalString? '回忆滤镜' Bool? '持续帧数' Int? '渐入渐出帧数' Int? '音频文件' EvalString? BGNL? Newline
|
||||
'文字颜色' ColorString? Colour '描边颜色' ColorString? Colour '字体信息' EvalString? Newline
|
||||
/*over_s
|
||||
tooltip : over:这段话将出现在屏幕中心
|
||||
helpUrl : /_docs/#/instruction
|
||||
allImages : ['EvalString_1']
|
||||
allSounds : ['EvalString_2']
|
||||
default : ["这段话将在屏幕中心","bg_5043.png",3000,30,"","255,255,255,1",'rgba(255,255,255,1)',"0,0,0,1",'rgba(0,0,0,1)','bold 48px Verdana']
|
||||
var code = '{"type": "over", "text": "'+EvalString_0+'","image":"'+EvalString_1+'","time":'+Int_0+',"hidetime":'+Int_1+',"sound":"'+EvalString_2+'","textColor": ['+ColorString_0+'], "boldColor": ['+ColorString_1+'], "font": "'+EvalString_3+'"},\n';
|
||||
default : ["这段话将在屏幕中心","bg_5043.webp",false,50,30,"","255,255,255,1",'rgba(255,255,255,1)',"0,0,0,1",'rgba(0,0,0,1)','bold 48px Verdana']
|
||||
var code = '{"type": "over", "text": "'+EvalString_0+'","image":"'+EvalString_1+'","memory":'+Bool_0+',"time":'+Int_0+',"hidetime":'+Int_1+',"sound":"'+EvalString_2+'","textColor": ['+ColorString_0+'], "boldColor": ['+ColorString_1+'], "font": "'+EvalString_3+'"},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
overlist_s
|
||||
: '背景' EvalString? '回忆滤镜' Bool? '每句渐入渐出帧数' Int? BGNL? Newline
|
||||
overtextList+? Newline
|
||||
/*overlist_s
|
||||
tooltip : overlist:多行滚动旁白
|
||||
helpUrl : /_docs/#/instruction
|
||||
allImages : ['EvalString_0']
|
||||
default : ["bg_5043.webp",false,30,[{ "text":"" ,"sound":"","time":50,"textColor":"255,255,255,1","boldColor":"0,0,0,1","font":"bold 48px Verdana","frame":0}]]
|
||||
var list=',"list": [\n'+overtextList_0.slice(0,-1)+'\n]'
|
||||
var code = '{"type": "overlist", "image": "'+EvalString_0+'","memory":'+Bool_0+',"hidetime":'+Int_0+''+list+' },\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
overtextList
|
||||
: overtext
|
||||
| overtextEmpty;
|
||||
|
||||
overtext
|
||||
: '文字' EvalString? BGNL? Newline
|
||||
'音频文件(需注册)' EvalString? '显示帧数' Int? '文字颜色' ColorString? Colour '描边颜色' ColorString? Colour '字体信息' EvalString? Newline
|
||||
|
||||
/* overtext
|
||||
tooltip : 多行滚动字幕
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["","",50,"255,255,255,1",'rgba(255,255,255,1)',"0,0,0,1",'rgba(0,0,0,1)','bold 48px Verdana']
|
||||
colour : this.subColor
|
||||
allSounds : ['EvalString_1']
|
||||
|
||||
return '{ "text":"'+EvalString_0+'","sound": "'+EvalString_1+'","time":'+Int_0+',"textColor": ['+ColorString_0+'],"boldColor": ['+ColorString_1+'],"font": "'+EvalString_2+'","frame":0},'
|
||||
*/;
|
||||
|
||||
overtextEmpty
|
||||
: Newline
|
||||
|
||||
/* overtextEmpty
|
||||
var code = [];
|
||||
return code;
|
||||
*/;
|
||||
|
||||
cgtext_s
|
||||
: '背景' EvalString? '移除对话框' Bool? '头像' EvalString?'名字' EvalString?'坐标PX' Number'打字间隔' Int? BGNL? Newline
|
||||
'音频文件(需在全塔属性——使用音效注册)'EvalString? BGNL? Newline
|
||||
EvalString? BGNL? Newline textcgDrawingList*? Newline
|
||||
: '背景' EvalString? '回忆滤镜' Bool? '移除对话框' Bool? '头像' EvalString?'名字' EvalString?'坐标PX' Number'打字间隔' Int? BGNL? Newline
|
||||
'自动等待时长' Int '音频文件(需在全塔属性——使用音效注册)'EvalString? BGNL? Newline
|
||||
EvalString? BGNL? Newline textcgDrawingList+? Newline
|
||||
|
||||
|
||||
/* cgtext_s
|
||||
@ -1086,10 +1129,10 @@ tooltip : cgtext:显示一段包含cg的文字(剧情)
|
||||
helpUrl : /_docs/#/instruction
|
||||
allImages : ['EvalString_0','EvalString_1']
|
||||
allSounds : ['EvalString_3']
|
||||
default : ["bg_5043.png","face_050445.png",false,"菲奥奈",-300,0,"","这句话显示在对话框内",[{ "name":"tati_050145a.png" , "px": 100,"filter":false }]]
|
||||
default : ["bg_5043.webp",false,"face_050445.webp",false,"菲奥奈",-300,0,2000,"","这句话显示在对话框内",[{ "name":"tati_050145a.webp" , "px": 100,"filter":false }]]
|
||||
var head ='{ "name": "'+EvalString_1+'", "px": '+Number_0+' }'
|
||||
var list=',"bodyList": [\n'+textcgDrawingList_0+'\n]'
|
||||
var code = '{"type": "cgtext", "bg":"'+EvalString_0+'","WindowSkin":'+Bool_0+',"head":'+head+' ,"name":"'+EvalString_2+'","time":'+Int_0+',"sound":"'+EvalString_3+'","text": "'+EvalString_4+'"'+list+' },\n';
|
||||
var list=',"bodyList": [\n'+textcgDrawingList_0.slice(0,-1)+'\n]'
|
||||
var code = '{"type": "cgtext", "bg":"'+EvalString_0+'","memory":'+Bool_0+',"WindowSkin":'+Bool_1+',"head":'+head+' ,"name":"'+EvalString_2+'","time":'+Int_0+',"wait":'+Int_1+',"sound":"'+EvalString_3+'","text": "'+EvalString_4+'"'+list+' },\n';
|
||||
return code;
|
||||
*/;
|
||||
textcgDrawingList
|
||||
@ -1102,11 +1145,11 @@ textcgDrawing
|
||||
/* textcgDrawing
|
||||
tooltip : 立绘
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["tati_050145a.png",100,false]
|
||||
default : ["tati_050145a.webp",100,false]
|
||||
colour : this.subColor
|
||||
allImages : ['EvalString_0']
|
||||
|
||||
return '{ "name": "'+EvalString_0+'", "px": '+Number_0+',"filter":'+Bool_0+' }'
|
||||
return '{ "name": "'+EvalString_0+'", "px": '+Number_0+',"filter":'+Bool_0+' },'
|
||||
*/;
|
||||
|
||||
textcgDrawingEmpty
|
||||
@ -1129,7 +1172,7 @@ textDrawing
|
||||
/* textDrawing
|
||||
tooltip : 立绘
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["fairy.png","null","0","0","","","","","","","",""]
|
||||
default : ["fairy.webp","null","0","0","","","","","","","",""]
|
||||
colour : this.subColor
|
||||
previewBlock : true
|
||||
allImages : ['EvalString_0']
|
||||
@ -1810,7 +1853,7 @@ setHeroIcon_s
|
||||
tooltip : setHeroIcon:更改角色行走图
|
||||
helpUrl : /_docs/#/instruction
|
||||
colour : this.dataColor
|
||||
default : ["hero.png", false]
|
||||
default : ["hero.webp", false]
|
||||
allImages : ['EvalString_0']
|
||||
material : ["./project/images/:images", "EvalString_0"]
|
||||
EvalString_0 = EvalString_0 && (', "name": "'+EvalString_0+'"');
|
||||
@ -1889,6 +1932,20 @@ var code = '{"type": "sleep", "time": '+Int_0+Bool_0+'},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
changebg_s
|
||||
: '上一个背景' EvalString? '回忆滤镜' Bool? '下一个背景' EvalString? '回忆滤镜' Bool? '切换帧数' Int '转场方式' Changebg_List Newline
|
||||
|
||||
|
||||
/* changebg_s
|
||||
tooltip : changebg: 剧情转场
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["",false,"",false,30,"引入"]
|
||||
colour : this.soundColor
|
||||
allImages : ['EvalString_0','EvalString_1']
|
||||
var code = '{"type": "changebg", "img1": "'+EvalString_0+'","memory1":'+Bool_0+',"img2": "'+EvalString_1+'","memory2":'+Bool_1+',"time": '+Int_0+',"style": "'+Changebg_List_0+'"},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
drawWarning_s
|
||||
: '警告坐标x' PosString 'y' PosString '文字大小'Int '警告内容' EvalString? '副标题' EvalString? '不播放音效' Bool? Newline
|
||||
|
||||
@ -2419,6 +2476,95 @@ var code = '{"type": "scaleImage", "code": '+NInt_0+loc+', "scale": '+Number_0+M
|
||||
return code;
|
||||
*/;
|
||||
|
||||
animationDrawable_s
|
||||
: '帧动画' '总显示帧数' IntString '底色' ColorString? Colour '底色透明度' IntString? BGNL?Newline
|
||||
'图片序列(同一帧后面覆盖先前的,默认起始帧为0,结束帧为最后一帧)'BGNL?Newline
|
||||
'(剪裁区域不填写为全图,绘制区域不填写为全画面)'BGNL?Newline
|
||||
'(透明度100为不透明,默认为不透明,结束透明度默认与开始透明度相同)'BGNL?Newline
|
||||
animationDrawableimage+? Newline
|
||||
'音频序列(到达对应帧进行播放)'BGNL?Newline
|
||||
animationDrawablesound+? Newline
|
||||
|
||||
|
||||
/* animationDrawable_s
|
||||
tooltip : animationDrawable:帧动画图片叠加
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : [30,"0, 0, 0",'rgb(0, 0, 0)',""]
|
||||
allImages : ['EvalString_0']
|
||||
colour : this.imageColor
|
||||
if (IntString_1&&(IntString_1 < 0||IntString_1>100)) throw new Error('透明度范围为0-100,0为透明,100为不透明,不填默认为不透明')
|
||||
|
||||
ColorString_0 = ColorString_0 ? (', "color": ['+ColorString_0+']') : '';
|
||||
IntString_1 = IntString_1 ? (', "globalAlpha": '+IntString_1+'') : '';
|
||||
var imageList=animationDrawableimage_0?',"imageList": [\n'+animationDrawableimage_0.slice(0,-1)+'\n]':''
|
||||
var soundList=animationDrawablesound_0?',"soundList": [\n'+animationDrawablesound_0.slice(0,-1)+'\n]':''
|
||||
var code = '{"type": "animationDrawable", "allFarme": '+IntString_0+ColorString_0+IntString_1+imageList+soundList+'},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
animationDrawableList
|
||||
: animationDrawableimage
|
||||
| animationDrawablesound
|
||||
| animationDrawabletextEmpty;
|
||||
|
||||
animationDrawableimage
|
||||
: '图片' EvalString? '起始帧' IntString? '起始透明度' IntString? BGNL? Newline
|
||||
'剪裁坐标cx' IntString? 'cy' IntString? '宽' IntString? '高' IntString? '绘制坐标x'IntString? 'y' IntString? '宽' IntString? '高' IntString? BGNL? Newline
|
||||
'结束帧' IntString? '结束透明度' IntString? '剪裁坐标cx' IntString? 'cy' IntString? '宽' IntString? '高' IntString? '绘制坐标x'IntString? 'y' IntString? '宽' IntString? '高' IntString? Newline
|
||||
/* animationDrawableimage
|
||||
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_11&&(IntString_11 < 0||IntString_11>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 ? (', "afterfarme": '+IntString_10+'') : '';
|
||||
IntString_11 = IntString_11 ? (', "aglobalAlpha": '+IntString_11+'') : '';
|
||||
IntString_12 = IntString_12 ? (', "acx": '+IntString_12+'') : '';
|
||||
IntString_13 = IntString_13 ? (', "acy": '+IntString_13+'') : '';
|
||||
IntString_14 = IntString_14 ? (', "acw": '+IntString_14+'') : '';
|
||||
IntString_15 = IntString_15 ? (', "ach": '+IntString_15+'') : '';
|
||||
IntString_16 = IntString_16 ? (', "ax": '+IntString_16+'') : '';
|
||||
IntString_17 = IntString_17 ? (', "ay": '+IntString_17+'') : '';
|
||||
IntString_18 = IntString_18 ? (', "aw": '+IntString_18+'') : '';
|
||||
IntString_19 = IntString_19 ? (', "ah": '+IntString_19+'') : '';
|
||||
|
||||
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+'},'
|
||||
*/;
|
||||
|
||||
animationDrawablesound
|
||||
: '音效' EvalString? '起始帧' IntString '是否停止其他音效'Bool? Newline
|
||||
|
||||
/* animationDrawablesound
|
||||
tooltip : 帧动画配音
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["",0,false]
|
||||
colour : this.subColor
|
||||
allSounds : ['EvalString_0']
|
||||
|
||||
return '{ "sound":"'+EvalString_0+'","startfarme":'+IntString_0+',"stopbefore":'+Bool_0+'},'
|
||||
*/;
|
||||
|
||||
animationDrawabletextEmpty
|
||||
: Newline
|
||||
|
||||
/* animationDrawabletextEmpty
|
||||
var code = [];
|
||||
return code;
|
||||
*/;
|
||||
|
||||
setCurtain_0_s
|
||||
: '更改画面色调' ColorString Colour '动画时间' IntString? BGNL? Newline '渐变方式' MoveMode_List '持续到下一个本事件' Bool '不等待执行完毕' Bool Newline
|
||||
|
||||
@ -3240,6 +3386,17 @@ var code = '{"type": "stopAsync"},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
op_s
|
||||
: '播放op(长按2秒可跳过)' BGNL Newline
|
||||
|
||||
|
||||
/* op_s
|
||||
tooltip : op: 开始播放op
|
||||
helpUrl : /_docs/#/instruction
|
||||
colour : this.soundColor
|
||||
var code = '{"type": "op"},\n';
|
||||
return code;
|
||||
*/;
|
||||
|
||||
callBook_s
|
||||
: '呼出怪物手册'
|
||||
@ -3676,7 +3833,7 @@ drawBackground_s
|
||||
/* drawBackground_s
|
||||
tooltip : drawBackground:绘制背景
|
||||
helpUrl : /_docs/#/instruction
|
||||
default : ["winskin.png","rgba(255,255,255,1)","0","0","100","100"]
|
||||
default : ["winskin.webp","rgba(255,255,255,1)","0","0","100","100"]
|
||||
colour : this.uiColor
|
||||
previewBlock : true
|
||||
var colorRe = MotaActionFunctions.pattern.colorRe;
|
||||
@ -3701,7 +3858,7 @@ drawSelector_s
|
||||
tooltip : drawSelector:绘制闪烁光标
|
||||
helpUrl : /_docs/#/instruction
|
||||
previewBlock : true
|
||||
default : ["winskin.png","1","0","0","100","100"]
|
||||
default : ["winskin.webp","1","0","0","100","100"]
|
||||
colour : this.uiColor
|
||||
var code = '{"type": "drawSelector", "image": "'+EvalString_0+'", "code": '+Int_0+', "x": '+PosString_0+', "y": '+PosString_1+', "width": '+PosString_2+', "height": '+PosString_3+'},\n';
|
||||
return code;
|
||||
@ -4194,6 +4351,10 @@ Bg_Fg_List
|
||||
: '背景层'|'前景层'
|
||||
/*Bg_Fg_List ['bg','fg']*/;
|
||||
|
||||
Changebg_List
|
||||
: '引入'|'引出'|'场景切换'
|
||||
/*Changebg_List ['引入','引出','场景切换']*/;
|
||||
|
||||
Bg_Fg2_List
|
||||
: '背景层'|'前景层'|'自适配'
|
||||
/*Bg_Fg2_List ['bg','fg','auto']*/;
|
||||
|
@ -0,0 +1 @@
|
||||
{"viewportLoc":[0,0],"editorLastFloorId":"street02","lastUsed":[{"idnum":36,"id":"shield1","images":"items","y":55,"recent":1735710097750,"frequent":1},{"idnum":43,"id":"sword5","images":"items","y":54,"recent":1735710095206,"frequent":1},{"idnum":41,"id":"sword4","images":"items","y":53,"recent":1735710093206,"frequent":1},{"idnum":39,"id":"sword3","images":"items","y":52,"recent":1735710091127,"frequent":1},{"idnum":37,"id":"sword2","images":"items","y":51,"recent":1735710088598,"frequent":1},{"idnum":35,"id":"sword1","images":"items","y":50,"recent":1735710086310,"frequent":1},{"idnum":60067,"id":"X60067","images":"1.webp","x":3,"y":8,"isTile":true,"recent":1736002847782,"frequent":1}]}
|
@ -31,7 +31,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"_range": "editor.mode.checkImages(thiseval, './project/images/')",
|
||||
"_directory": "./project/images/",
|
||||
"_transform": (function (one) {
|
||||
if (one.endsWith('.png') || one.endsWith('.jpg') || one.endsWith('.jpeg') || one.endsWith('.gif'))
|
||||
if (one.endsWith('.png') || one.endsWith('.jpg') || one.endsWith('.jpeg') || one.endsWith('.gif') || one.endsWith('.webp'))
|
||||
return one;
|
||||
return null;
|
||||
}).toString(),
|
||||
@ -51,7 +51,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"_range": "editor.mode.checkImages(thiseval, './project/tilesets/')",
|
||||
"_directory": "./project/tilesets/",
|
||||
"_transform": (function (one) {
|
||||
if (one.endsWith('.png'))
|
||||
if (one.endsWith('.png') || one.endsWith('.webp'))
|
||||
return one;
|
||||
return null;
|
||||
}).toString(),
|
||||
|
@ -116,6 +116,12 @@ var plugins_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"_type": "textarea",
|
||||
"_range": "typeof(thiseval)=='string' || thiseval==null",
|
||||
"_data": "警告消息"
|
||||
},
|
||||
"musicMode": {
|
||||
"_leaf": true,
|
||||
"_type": "textarea",
|
||||
"_range": "typeof(thiseval)=='string' || thiseval==null",
|
||||
"_data": "音乐鉴赏"
|
||||
}
|
||||
}
|
||||
if (obj[key]) return obj[key];
|
||||
|
401
index.html
@ -1,205 +1,226 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv='content-type' content='text/html' charset='utf-8'>
|
||||
<meta http-equiv='X-UA-Compatible' content='IE=Edge, chrome=1'>
|
||||
<meta name='author' content='ckcz123'>
|
||||
<meta name='viewport'
|
||||
content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=yes'>
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html" charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1" />
|
||||
<meta name="author" content="ckcz123" />
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=yes"
|
||||
/>
|
||||
<title>HTML5魔塔</title>
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<meta name="screen-orientation" content="portrait">
|
||||
<meta name="full-screen" content="yes">
|
||||
<meta name="browsermode" content="application">
|
||||
<meta name="x5-orientation" content="portrait">
|
||||
<meta name="x5-fullscreen" content="true">
|
||||
<meta name="x5-page-mode" content="app">
|
||||
<link type='text/css' href='styles.css' rel='stylesheet'>
|
||||
</head>
|
||||
<meta
|
||||
name="apple-mobile-web-app-status-bar-style"
|
||||
content="black-translucent"
|
||||
/>
|
||||
<meta name="screen-orientation" content="portrait" />
|
||||
<meta name="full-screen" content="yes" />
|
||||
<meta name="browsermode" content="application" />
|
||||
<meta name="x5-orientation" content="portrait" />
|
||||
<meta name="x5-fullscreen" content="true" />
|
||||
<meta name="x5-page-mode" content="app" />
|
||||
<link type="text/css" href="styles.css" rel="stylesheet" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id='startImageBackgroundDiv'>
|
||||
<div id='startImageDiv'></div>
|
||||
<img id='startImageLogo' />
|
||||
<body>
|
||||
<div id="startImageBackgroundDiv">
|
||||
<div id="startImageDiv"></div>
|
||||
<img id="startImageLogo" />
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
var startImageBackgroundDiv = document.getElementById('startImageBackgroundDiv');
|
||||
var startImageLogo = document.getElementById('startImageLogo');
|
||||
var startImageDiv = document.getElementById('startImageDiv');
|
||||
startImageLogo.onload = function () {
|
||||
startImageBackgroundDiv.style.display = 'block';
|
||||
var onAnimationEnd = function () {
|
||||
startImageBackgroundDiv.style.display = 'none';
|
||||
startImageLogo.classList.remove("startImageAnimation");
|
||||
startImageDiv.classList.remove("startImageDivAnimation");
|
||||
}
|
||||
startImageDiv.addEventListener("webkitAnimationEnd", onAnimationEnd);
|
||||
startImageDiv.addEventListener("animationend", onAnimationEnd);
|
||||
startImageLogo.classList.add("startImageAnimation");
|
||||
startImageDiv.classList.add("startImageDivAnimation");
|
||||
// 注释下面这句话以禁止单击立刻跳过开场动画
|
||||
startImageBackgroundDiv.onclick = onAnimationEnd;
|
||||
}
|
||||
startImageLogo.onerror = function () { }
|
||||
startImageLogo.src = "logo.png";
|
||||
})();
|
||||
(function () {
|
||||
var startImageBackgroundDiv = document.getElementById(
|
||||
"startImageBackgroundDiv"
|
||||
);
|
||||
var startImageLogo = document.getElementById("startImageLogo");
|
||||
var startImageDiv = document.getElementById("startImageDiv");
|
||||
startImageLogo.onload = function () {
|
||||
startImageBackgroundDiv.style.display = "block";
|
||||
var onAnimationEnd = function () {
|
||||
startImageBackgroundDiv.style.display = "none";
|
||||
startImageLogo.classList.remove("startImageAnimation");
|
||||
startImageDiv.classList.remove("startImageDivAnimation");
|
||||
};
|
||||
startImageDiv.addEventListener("webkitAnimationEnd", onAnimationEnd);
|
||||
startImageDiv.addEventListener("animationend", onAnimationEnd);
|
||||
startImageLogo.classList.add("startImageAnimation");
|
||||
startImageDiv.classList.add("startImageDivAnimation");
|
||||
// 注释下面这句话以禁止单击立刻跳过开场动画
|
||||
startImageBackgroundDiv.onclick = onAnimationEnd;
|
||||
};
|
||||
startImageLogo.onerror = function () {};
|
||||
startImageLogo.src = "logo.png";
|
||||
})();
|
||||
</script>
|
||||
<!-- injection -->
|
||||
<div id='gameGroup'>
|
||||
<p id='mainTips'>请稍候...</p>
|
||||
<img id='musicBtn'>
|
||||
<div id='startPanel'>
|
||||
<div id='startTop'>
|
||||
<div id='startTopProgressBar'>
|
||||
<div id='startTopProgress'></div>
|
||||
</div>
|
||||
<p id='startTopLoadTips'>资源即将开始加载</p>
|
||||
<p id='startTopHint'>HTML5魔塔游戏平台,享受更多魔塔游戏:<br />https://h5mota.com/</p>
|
||||
</div>
|
||||
<img id='startBackground'>
|
||||
<p id='startLogo'></p>
|
||||
<div id='startButtonGroup'>
|
||||
<div id='startButtons'>
|
||||
<span class='startButton' id='playGame'>START GAME</span>
|
||||
<span class='startButton' id='loadGame'>LOAD GAME</span>
|
||||
<span class='startButton' id='CGMode'>CG MODE</span>
|
||||
<span class='startButton' id='replayGame'>REPLAY MODE</span>
|
||||
</div>
|
||||
<div id='levelChooseButtons'></div>
|
||||
</div>
|
||||
<div id="gameGroup">
|
||||
<p id="mainTips">请稍候...</p>
|
||||
<img id="musicBtn" />
|
||||
<div id="startPanel">
|
||||
<div id="startTop">
|
||||
<div id="startTopProgressBar">
|
||||
<div id="startTopProgress"></div>
|
||||
</div>
|
||||
<p id="startTopLoadTips">资源即将开始加载</p>
|
||||
<p id="startTopHint">
|
||||
HTML5魔塔游戏平台,享受更多魔塔游戏:<br />https://h5mota.com/
|
||||
</p>
|
||||
</div>
|
||||
<div id='floorMsgGroup'>
|
||||
<p id='logoLabel'></p>
|
||||
<p id='versionLabel'></p>
|
||||
<p id='floorNameLabel'></p>
|
||||
<img id="startBackground" />
|
||||
<p id="startLogo"></p>
|
||||
<div id="startButtonGroup">
|
||||
<div id="startButtons">
|
||||
<span class="startButton" id="playGame">START GAME</span>
|
||||
<span class="startButton" id="loadGame">LOAD GAME</span>
|
||||
<span class="startButton" id="CGMode">CG MODE</span>
|
||||
<span class="startButton" id="musicMode">MUSIC MODE</span>
|
||||
<span class="startButton" id="replayGame">REPLAY MODE</span>
|
||||
</div>
|
||||
<div id="levelChooseButtons"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="floorMsgGroup">
|
||||
<p id="logoLabel"></p>
|
||||
<p id="versionLabel"></p>
|
||||
<p id="floorNameLabel"></p>
|
||||
</div>
|
||||
<div id="statusBar" class="clearfix">
|
||||
<div class="status" id="floorCol">
|
||||
<img id="img-floor" />
|
||||
<p class="statusLabel statusText" id="floor"></p>
|
||||
</div>
|
||||
<div class="status" id="nameCol">
|
||||
<img id="img-name" />
|
||||
<p class="statusLabel statusText" id="name"></p>
|
||||
</div>
|
||||
<div class="status" id="lvCol">
|
||||
<img id="img-lv" />
|
||||
<p class="statusLabel statusText" id="lv"></p>
|
||||
</div>
|
||||
<div class="status" id="hpmaxCol">
|
||||
<img id="img-hpmax" />
|
||||
<p class="statusLabel statusText" id="hpmax"></p>
|
||||
</div>
|
||||
<div class="status" id="hpCol">
|
||||
<img id="img-hp" />
|
||||
<p class="statusLabel statusText" id="hp"></p>
|
||||
</div>
|
||||
<div class="status" id="manaCol">
|
||||
<img id="img-mana" />
|
||||
<p class="statusLabel statusText" id="mana"></p>
|
||||
</div>
|
||||
<div class="status" id="atkCol">
|
||||
<img id="img-atk" />
|
||||
<p class="statusLabel statusText" id="atk"></p>
|
||||
</div>
|
||||
<div class="status" id="defCol">
|
||||
<img id="img-def" />
|
||||
<p class="statusLabel statusText" id="def"></p>
|
||||
</div>
|
||||
<div class="status" id="mdefCol">
|
||||
<img id="img-mdef" />
|
||||
<p class="statusLabel statusText" id="mdef"></p>
|
||||
</div>
|
||||
<div class="status" id="moneyCol">
|
||||
<img id="img-money" />
|
||||
<p class="statusLabel statusText" id="money"></p>
|
||||
</div>
|
||||
<div class="status" id="expCol">
|
||||
<img id="img-exp" />
|
||||
<p class="statusLabel statusText" id="exp"></p>
|
||||
</div>
|
||||
<div class="status" id="upCol">
|
||||
<img id="img-up" />
|
||||
<p class="statusLabel statusText" id="up"></p>
|
||||
</div>
|
||||
<div class="status" id="skillCol">
|
||||
<img id="img-skill" />
|
||||
<p
|
||||
class="statusLabel statusText"
|
||||
id="skill"
|
||||
style="font-style: normal"
|
||||
></p>
|
||||
</div>
|
||||
<div class="status" id="keyCol">
|
||||
<span
|
||||
class="statusLabel"
|
||||
id="yellowKey"
|
||||
style="color: #ffccaa"
|
||||
></span>
|
||||
<span class="statusLabel" id="blueKey" style="color: #aaaadd"></span>
|
||||
<span class="statusLabel" id="redKey" style="color: #ff8888"></span>
|
||||
<span class="statusLabel" id="greenKey" style="color: #88ff88"></span>
|
||||
</div>
|
||||
<div class="status" id="pzfCol">
|
||||
<span class="statusLabel" id="pickaxe" style="color: #bc6e27"></span>
|
||||
<span class="statusLabel" id="bomb" style="color: #fa14b9"></span>
|
||||
<span class="statusLabel" id="fly" style="color: #8db600"></span>
|
||||
</div>
|
||||
<div class="status" id="debuffCol">
|
||||
<span class="statusLabel" id="poison" style="color: #affca8"></span>
|
||||
<span class="statusLabel" id="weak" style="color: #feccd0"></span>
|
||||
<span class="statusLabel" id="curse" style="color: #c2f4e7"></span>
|
||||
</div>
|
||||
<div id='statusBar' class="clearfix">
|
||||
<div class="status" id="floorCol">
|
||||
<img id="img-floor">
|
||||
<p class='statusLabel statusText' id='floor'></p>
|
||||
</div>
|
||||
<div class="status" id="nameCol">
|
||||
<img id="img-name">
|
||||
<p class='statusLabel statusText' id='name'></p>
|
||||
</div>
|
||||
<div class="status" id="lvCol">
|
||||
<img id="img-lv">
|
||||
<p class='statusLabel statusText' id='lv'></p>
|
||||
</div>
|
||||
<div class="status" id='hpmaxCol'>
|
||||
<img id="img-hpmax">
|
||||
<p class='statusLabel statusText' id='hpmax'></p>
|
||||
</div>
|
||||
<div class="status" id='hpCol'>
|
||||
<img id="img-hp">
|
||||
<p class='statusLabel statusText' id='hp'></p>
|
||||
</div>
|
||||
<div class="status" id='manaCol'>
|
||||
<img id="img-mana">
|
||||
<p class='statusLabel statusText' id='mana'></p>
|
||||
</div>
|
||||
<div class="status" id='atkCol'>
|
||||
<img id="img-atk">
|
||||
<p class='statusLabel statusText' id='atk'></p>
|
||||
</div>
|
||||
<div class="status" id='defCol'>
|
||||
<img id="img-def">
|
||||
<p class='statusLabel statusText' id='def'></p>
|
||||
</div>
|
||||
<div class="status" id="mdefCol">
|
||||
<img id="img-mdef">
|
||||
<p class='statusLabel statusText' id='mdef'></p>
|
||||
</div>
|
||||
<div class="status" id="moneyCol">
|
||||
<img id="img-money">
|
||||
<p class='statusLabel statusText' id='money'></p>
|
||||
</div>
|
||||
<div class="status" id="expCol">
|
||||
<img id="img-exp">
|
||||
<p class='statusLabel statusText' id='exp'></p>
|
||||
</div>
|
||||
<div class="status" id="upCol">
|
||||
<img id="img-up">
|
||||
<p class='statusLabel statusText' id='up'></p>
|
||||
</div>
|
||||
<div class="status" id="skillCol">
|
||||
<img id="img-skill">
|
||||
<p class='statusLabel statusText' id='skill' style='font-style: normal'></p>
|
||||
</div>
|
||||
<div class="status" id='keyCol'>
|
||||
<span class='statusLabel' id='yellowKey' style="color:#FFCCAA"></span>
|
||||
<span class='statusLabel' id='blueKey' style="color:#AAAADD"></span>
|
||||
<span class='statusLabel' id='redKey' style="color:#FF8888"></span>
|
||||
<span class='statusLabel' id='greenKey' style="color:#88FF88"></span>
|
||||
</div>
|
||||
<div class="status" id='pzfCol'>
|
||||
<span class='statusLabel' id='pickaxe' style="color: #BC6E27"></span>
|
||||
<span class='statusLabel' id='bomb' style="color: #FA14B9"></span>
|
||||
<span class='statusLabel' id='fly' style="color: #8DB600"></span>
|
||||
</div>
|
||||
<div class="status" id="debuffCol">
|
||||
<span class='statusLabel' id='poison' style="color: #AFFCA8;"></span>
|
||||
<span class='statusLabel' id='weak' style="color: #FECCD0;"></span>
|
||||
<span class='statusLabel' id='curse' style="color: #C2F4E7;"></span>
|
||||
</div>
|
||||
|
||||
<!-- 状态栏canvas化 -->
|
||||
<canvas id="statusCanvas" style="position: absolute; left: 0; top: 0;"></canvas>
|
||||
</div>
|
||||
<div id="toolBar" class="clearfix">
|
||||
<img class="tools" id='img-book'>
|
||||
<img class="tools" id='img-fly'>
|
||||
<img class="tools" id='img-toolbox'>
|
||||
<img class="tools" id='img-keyboard'>
|
||||
<img class="tools" id='img-shop'>
|
||||
<img class="tools" id='img-save'>
|
||||
<img class="tools" id='img-load'>
|
||||
<img class="tools" id='img-settings'>
|
||||
<img class="tools" id='img-btn1' style='display:none'>
|
||||
<img class="tools" id='img-btn2' style='display:none'>
|
||||
<img class="tools" id='img-btn3' style='display:none'>
|
||||
<img class="tools" id='img-btn4' style='display:none'>
|
||||
<img class="tools" id='img-btn5' style='display:none'>
|
||||
<img class="tools" id='img-btn6' style='display:none'>
|
||||
<img class="tools" id='img-btn7' style='display:none'>
|
||||
<img class="tools" id='img-btn8' style='display:none'>
|
||||
<p class="statusLabel tools" id="hard"></p>
|
||||
</div>
|
||||
<div id="gameDraw">
|
||||
<div id="gif"></div>
|
||||
<div id="gif2"></div>
|
||||
<canvas class='gameCanvas anti-aliasing' id='bg'></canvas>
|
||||
<canvas class='gameCanvas anti-aliasing' id='event'></canvas>
|
||||
<canvas class='gameCanvas anti-aliasing' id='hero'></canvas>
|
||||
<canvas class='gameCanvas anti-aliasing' id='event2'></canvas>
|
||||
<canvas class='gameCanvas anti-aliasing' id='fg'></canvas>
|
||||
<canvas class='gameCanvas' id='damage'></canvas>
|
||||
<canvas class='gameCanvas' id='animate'></canvas>
|
||||
<canvas class='gameCanvas' id='curtain'></canvas>
|
||||
<canvas class='gameCanvas' id='ui'></canvas>
|
||||
<canvas class='gameCanvas' id='data'>此浏览器不支持HTML5</canvas>
|
||||
<div id="next"></div>
|
||||
</div>
|
||||
<!-- 状态栏canvas化 -->
|
||||
<canvas
|
||||
id="statusCanvas"
|
||||
style="position: absolute; left: 0; top: 0"
|
||||
></canvas>
|
||||
</div>
|
||||
<div id="toolBar" class="clearfix">
|
||||
<img class="tools" id="img-book" />
|
||||
<img class="tools" id="img-fly" />
|
||||
<img class="tools" id="img-toolbox" />
|
||||
<img class="tools" id="img-keyboard" />
|
||||
<img class="tools" id="img-shop" />
|
||||
<img class="tools" id="img-save" />
|
||||
<img class="tools" id="img-load" />
|
||||
<img class="tools" id="img-settings" />
|
||||
<img class="tools" id="img-btn1" style="display: none" />
|
||||
<img class="tools" id="img-btn2" style="display: none" />
|
||||
<img class="tools" id="img-btn3" style="display: none" />
|
||||
<img class="tools" id="img-btn4" style="display: none" />
|
||||
<img class="tools" id="img-btn5" style="display: none" />
|
||||
<img class="tools" id="img-btn6" style="display: none" />
|
||||
<img class="tools" id="img-btn7" style="display: none" />
|
||||
<img class="tools" id="img-btn8" style="display: none" />
|
||||
<p class="statusLabel tools" id="hard"></p>
|
||||
</div>
|
||||
<div id="gameDraw">
|
||||
<div id="gif"></div>
|
||||
<div id="gif2"></div>
|
||||
<canvas class="gameCanvas anti-aliasing" id="bg"></canvas>
|
||||
<canvas class="gameCanvas anti-aliasing" id="event"></canvas>
|
||||
<canvas class="gameCanvas anti-aliasing" id="hero"></canvas>
|
||||
<canvas class="gameCanvas anti-aliasing" id="event2"></canvas>
|
||||
<canvas class="gameCanvas anti-aliasing" id="fg"></canvas>
|
||||
<canvas class="gameCanvas" id="damage"></canvas>
|
||||
<canvas class="gameCanvas" id="animate"></canvas>
|
||||
<canvas class="gameCanvas" id="curtain"></canvas>
|
||||
<canvas class="gameCanvas" id="ui"></canvas>
|
||||
<canvas class="gameCanvas" id="data">此浏览器不支持HTML5</canvas>
|
||||
<div id="next"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id='inputDiv'>
|
||||
<div id='inputDialog'>
|
||||
<p id="inputMessage">请输入文字...</p>
|
||||
<input id='inputBox' type="text" autocomplete="off" />
|
||||
<button id='inputYes'>确定</button>
|
||||
<button id='inputNo'>取消</button>
|
||||
</div>
|
||||
<div id="inputDiv">
|
||||
<div id="inputDialog">
|
||||
<p id="inputMessage">请输入文字...</p>
|
||||
<input id="inputBox" type="text" autocomplete="off" />
|
||||
<button id="inputYes">确定</button>
|
||||
<button id="inputNo">取消</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="ui-editor"></div>
|
||||
<!-- injection -->
|
||||
<script src='libs/thirdparty/lz-string.min.js'></script>
|
||||
<script src='libs/thirdparty/priority-queue.min.js'></script>
|
||||
<script src='libs/thirdparty/localforage.min.js'></script>
|
||||
<script src='libs/thirdparty/zip.min.js'></script>
|
||||
<script id='mainScript' src='main.js'></script>
|
||||
<script>main.init('play'); main.listen();</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<script src="libs/thirdparty/lz-string.min.js"></script>
|
||||
<script src="libs/thirdparty/priority-queue.min.js"></script>
|
||||
<script src="libs/thirdparty/localforage.min.js"></script>
|
||||
<script src="libs/thirdparty/zip.min.js"></script>
|
||||
<script id="mainScript" src="main.js"></script>
|
||||
<script>
|
||||
main.init("play");
|
||||
main.listen();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
BIN
project/bgms/op.mp3
Normal file
1914
project/data.js
@ -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.png"},
|
||||
"octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"bigImage":"dragon_1.webp"},
|
||||
"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.png"},
|
||||
"dragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"bigImage":"dragon_0.webp"},
|
||||
"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},
|
||||
|
7631
project/events.js
@ -25,6 +25,60 @@ main.floors.street01=
|
||||
],
|
||||
"direction": "up"
|
||||
}
|
||||
],
|
||||
"6,11": [
|
||||
{
|
||||
"type": "insert",
|
||||
"name": "chapter01"
|
||||
}
|
||||
],
|
||||
"4,11": [
|
||||
{
|
||||
"type": "animationDrawable",
|
||||
"allFarme": 300,
|
||||
"color": [
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"imageList": [
|
||||
{
|
||||
"image": "bg_1511.webp",
|
||||
"beforefarme": 50,
|
||||
"globalAlpha": 0,
|
||||
"afterfarme": 250,
|
||||
"aglobalAlpha": 100
|
||||
},
|
||||
{
|
||||
"image": "eve_010304.webp",
|
||||
"beforefarme": 70,
|
||||
"globalAlpha": 0,
|
||||
"afterfarme": 170,
|
||||
"aglobalAlpha": 100,
|
||||
"ax": 0,
|
||||
"ay": 0
|
||||
},
|
||||
{
|
||||
"image": "eve_010304.webp",
|
||||
"beforefarme": 171,
|
||||
"globalAlpha": 100,
|
||||
"afterfarme": 270,
|
||||
"aglobalAlpha": 100,
|
||||
"ax": 800,
|
||||
"ay": 0
|
||||
}
|
||||
],
|
||||
"soundList": [
|
||||
{
|
||||
"sound": "",
|
||||
"startfarme": 0,
|
||||
"stopbefore": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "op"
|
||||
}
|
||||
]
|
||||
},
|
||||
"changeFloor": {
|
||||
|
@ -171,8 +171,8 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
core.removeFlag("__events__");
|
||||
} else {
|
||||
// 每次抵达楼层执行的事件
|
||||
core.ui.statusBar._update_map(); //更新小地图缓存
|
||||
core.insertAction(core.floors[floorId].eachArrive);
|
||||
core.ui.statusBar._update_map()
|
||||
// 首次抵达楼层时执行的事件(后插入,先执行)
|
||||
if (!core.hasVisitedFloor(floorId)) {
|
||||
core.insertAction(core.floors[floorId].firstArrive);
|
||||
@ -1044,7 +1044,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
},
|
||||
"loadData": function (data, callback) {
|
||||
// 读档操作;从存储中读取了内容后的行为
|
||||
|
||||
const play = core.status.played
|
||||
// 重置游戏和路线
|
||||
core.resetGame(data.hero, data.hard, data.floorId, core.maps.loadMap(data.maps, null, data.hero.flags), data.values);
|
||||
core.status.route = core.decodeRoute(data.route);
|
||||
@ -1071,6 +1071,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
// TODO:增加自己的一些读档处理
|
||||
core.ui.statusBar.clearItemInfo()
|
||||
core.ui.statusBar.update();
|
||||
|
||||
// 切换到对应的楼层
|
||||
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {
|
||||
// TODO:可以在这里设置读档后播放BGM
|
||||
@ -1079,9 +1080,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
}
|
||||
|
||||
core.removeFlag('__fromLoad__');
|
||||
if (!play) core.insertCommonEvent('强制横屏')
|
||||
if (callback) callback();
|
||||
});
|
||||
core.doAction()
|
||||
if (play) core.doAction()
|
||||
|
||||
|
||||
},
|
||||
"getStatusLabel": function (name) {
|
||||
// 返回某个状态英文名的对应中文标签,如atk -> 攻击,def -> 防御等。
|
||||
@ -1166,7 +1170,6 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
core.updateStatus()
|
||||
// 更新状态栏
|
||||
core.ui.statusBar.update();
|
||||
|
||||
// 更新阻激夹域的伤害值
|
||||
core.updateCheckBlock();
|
||||
// 更新全地图显伤
|
||||
@ -1565,7 +1568,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
|
||||
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
|
||||
var offset = core.status.hero.loc.x - core.bigmap.offsetX / 32 >= core._HEIGHT_ ? 0 : core._PY_;
|
||||
core.ui.setAlpha(ctx, 0.75);
|
||||
core.ui.drawWindowSkin('winskin.png', ctx, offset, 0, core._PX_ - core._PY_, core._PY_);
|
||||
core.ui.drawWindowSkin('winskin.webp', ctx, offset, 0, core._PX_ - core._PY_, core._PY_);
|
||||
core.ui.setAlpha(ctx, 1);
|
||||
core.drawImage(ctx, core.statusBar.icons.floor, 6 + offset, 9, 25, 25);
|
||||
fill((core.status.thisMap || {}).name || "Loading", 42 + offset, 29);
|
||||
|
Before Width: | Height: | Size: 6.2 KiB |
BIN
project/images/HPGaugeEnemy_A.webp
Normal file
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 18 KiB |
BIN
project/images/HPGaugeEnemy_B.webp
Normal file
After Width: | Height: | Size: 834 B |
Before Width: | Height: | Size: 3.0 MiB |
BIN
project/images/background.webp
Normal file
After Width: | Height: | Size: 256 KiB |
Before Width: | Height: | Size: 3.5 MiB |
BIN
project/images/backgroundvertical.webp
Normal file
After Width: | Height: | Size: 257 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 258 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/bg_1511.webp
Normal file
After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 1.2 MiB |
BIN
project/images/bg_1521.webp
Normal file
After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 2.5 MiB |
BIN
project/images/bg_2010.webp
Normal file
After Width: | Height: | Size: 222 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/bg_2011.webp
Normal file
After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/bg_2521.webp
Normal file
After Width: | Height: | Size: 140 KiB |
Before Width: | Height: | Size: 1.2 MiB |
BIN
project/images/bg_3042.webp
Normal file
After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/bg_3531.webp
Normal file
After Width: | Height: | Size: 120 KiB |
Before Width: | Height: | Size: 1.3 MiB |
BIN
project/images/bg_3551.webp
Normal file
After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 815 KiB |
BIN
project/images/bg_3563.webp
Normal file
After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 1.2 MiB |
BIN
project/images/bg_3571.webp
Normal file
After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/bg_3601.webp
Normal file
After Width: | Height: | Size: 126 KiB |
Before Width: | Height: | Size: 1.3 MiB |
BIN
project/images/bg_3721.webp
Normal file
After Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 1.5 MiB |
BIN
project/images/bg_5033.webp
Normal file
After Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 1.5 MiB |
BIN
project/images/bg_5043.webp
Normal file
After Width: | Height: | Size: 176 KiB |
Before Width: | Height: | Size: 1.5 MiB |
BIN
project/images/bg_5044.webp
Normal file
After Width: | Height: | Size: 166 KiB |
Before Width: | Height: | Size: 1.2 MiB |
BIN
project/images/bg_6004.webp
Normal file
After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 123 KiB |
BIN
project/images/cao.webp
Normal file
After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 1.4 KiB |
BIN
project/images/d.webp
Normal file
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
BIN
project/images/dl.webp
Normal file
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.6 KiB |
BIN
project/images/dlr.webp
Normal file
After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.5 KiB |
BIN
project/images/dr.webp
Normal file
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 8.5 KiB |
BIN
project/images/dragon.webp
Normal file
After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 1.2 MiB |
BIN
project/images/eve_010102.webp
Normal file
After Width: | Height: | Size: 83 KiB |
Before Width: | Height: | Size: 992 KiB |
BIN
project/images/eve_010203.webp
Normal file
After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 1.3 MiB |
BIN
project/images/eve_010304.webp
Normal file
After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 1.3 MiB |
BIN
project/images/eve_010501.webp
Normal file
After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/eve_010601.webp
Normal file
After Width: | Height: | Size: 130 KiB |
Before Width: | Height: | Size: 1.2 MiB |
BIN
project/images/eve_010701.webp
Normal file
After Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 1.1 MiB |
BIN
project/images/eve_010801.webp
Normal file
After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 1.3 MiB |
BIN
project/images/eve_010902.webp
Normal file
After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/eve_011001.webp
Normal file
After Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/eve_011101.webp
Normal file
After Width: | Height: | Size: 154 KiB |
Before Width: | Height: | Size: 1.1 MiB |
BIN
project/images/eve_011202.webp
Normal file
After Width: | Height: | Size: 99 KiB |
Before Width: | Height: | Size: 1.4 MiB |
BIN
project/images/eve_011302.webp
Normal file
After Width: | Height: | Size: 144 KiB |
Before Width: | Height: | Size: 1.2 MiB |
BIN
project/images/eve_011402.webp
Normal file
After Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 1.3 MiB |
BIN
project/images/eve_020102.webp
Normal file
After Width: | Height: | Size: 115 KiB |
Before Width: | Height: | Size: 1.3 MiB |
BIN
project/images/eve_020201.webp
Normal file
After Width: | Height: | Size: 122 KiB |