Merge branch 'story' into status-itcfangye

This commit is contained in:
草莓 2025-01-24 21:50:12 +08:00
commit 1eec945d93
21 changed files with 1284 additions and 612 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
_saves/
_server/config.json

View File

@ -1 +0,0 @@
1

View File

@ -1 +0,0 @@
N4IgZgNg9lBOCSATEAuEBnALrApjzADAIwgA0IAFjrFKqAJYC2AhgOY6qXVQB0A7jgBGABzIhmAOybNMHFGGYR0OchOaM5IAMLMmYiADdURchWEsAHqgCct66dEoiBF+RZrLqALQmQ75qgE5DIA1sauIIg4YOFBflExKHHownjISW5QEjgAnoHkOBaOcTgAjgCu9OY4EpioANoAuuT0sozodCAAxllYkpgdKKCCMGFO5JB5TgC+5JgwSnSzIGWVwoOg6HxwiCQzy9BdnYj0uF2Y9Fmc5aLkVigArORTzsuQbBsgrTiMACL4uggqGw5RUIHKygAQvgBDUADL0VgUOooEFggD66OUOEQmOMAHYAGwEawADgATOSACxxTGwSS49EE4lkyk04K4ZiDeqgDyaAA65SpOAIgkFDy6VPJYhY6wa2l0jAoUA0IEas156gFQpFYvKEqlMuYcpQ9RAACt6OVWOVJGqNSA+ZxBcLReLJdK3MbuSAANIAFQAavbSJrVWhBfjyYTyZHyWASF6TWaA4GAGLS9Whx1a53lKMxuMJo3JkCsKAQRAhXIhsPa116g2evze+WCegUCHlWhZut513Md2GpM+y3MKCYSSsWs58MgF0iwf6j0ln3oKgSVgSAzK1W92f1xdD5uytcUejb3ccfdOiP56Ox+/Fkfyy048cz2/z++Fp+JlullguD4MQYhAXghDNjaU5dBQU5iNBm6wVOzYWPQ45oVOoF3OhUCYZuBCobh+GsAAzJ+uYoBI5QQBAL6miAOT0BUJA3pR1G0fRZpMRUmYOreHF0QBPo8eU5FseGglcYxzFChRkk0UJp7yqJDzyXIUnCSpsmEupqCacpDGifielUYp0miaSpkGa2RmydY1nmVpdksQQ9rNBgIRVKgChKGCcGwOktLogFiBaBWcB4mguDIOQmLfIwAASF6YFFTRxeiEA4MwBg4HCUBdFFwDLJiBj0Og3yMp04EgXsaLLIIMJ4BIACCmCTl0IS/DIARmZxICYswOD0GlHmYic6DMIIWVVUMGDYBBoGmvURCkQ8zRNOqbwVtAAiwNyHlYDgJq+H0FxYPQXSfPMk4QP6TByOSDxEEQUpRjwhJ2C91hPN05SwLA93hkQDxUtYPCkXYUNQ4SDj5CAggyJgWXw4wWQ1hkKxFPDiPtVl3UsOw8PCFA5VZATbByCUFjYMwFNE5jaO5b8pw4OcEBTHEiISHAOAAMqyCaySTrAKKElSDykTwVLTMsoWcKu1ULbVnSyg0QQa6Qmva1ruv1D4pAG0bJgG0ExuGyblsWxbzQa1t5A0OUsicL6UAZloVKsAAvGIBiKKCGzLLl+2XBIebWDgpGIOKggPAQkbMNY0flNYhHx/qpKg+6BBgIK1iEkQMTkDa9DpCA5LMIghKEog1iFYgYBgFS6JUqSifooIVKEmA6JgIgU0EDgNJV3gYgXMD+KkficfWKRBBSi40xAA==

View File

@ -854,6 +854,8 @@ action
| waitAsync_s | waitAsync_s
| stopAsync_s | stopAsync_s
| op_s | op_s
| setmusics_s
| introAndLoop_s
| battle_s | battle_s
| battle_1_s | battle_1_s
| openDoor_s | openDoor_s
@ -2612,6 +2614,23 @@ var code = '{"type": "setq"'+IdString_0+'},\n';
return code; return code;
*/; */;
introAndLoop_s
: '前奏音乐文件'EvalString? '前奏音乐文件播放时长(可填小数,单位为秒)'EvalString'循环音乐文件'EvalString? Newline
/* introAndLoop_s
tooltip : introAndLoop设置任务目标楼层显示在小地图
helpUrl : /_docs/#/instruction
default : ["",1,""]
allBgms : ['EvalString_0','EvalString_2']
colour :this.imageColor
if(EvalString_1&&!/^(0|([1-9][0-9]*))(\.[\d]+)?$/.test(EvalString_1))throw new Error("此项仅能填写小数或整数,单位为秒");
EvalString_0 = EvalString_0 ? (', "intro": "'+EvalString_0+'"') : '';
EvalString_1= EvalString_1 ? (', "time": '+EvalString_1+'') : '';
EvalString_2 = EvalString_2 ? (', "loop": "'+EvalString_2+'"') : '';
var code = '{"type": "introAndLoop"'+EvalString_0+EvalString_1+EvalString_2+'},\n';
return code;
*/;
setcgs_s setcgs_s
: 'cg回廊获取cg 文件名'EvalString?'不填为清空cg获取记录' Newline : 'cg回廊获取cg 文件名'EvalString?'不填为清空cg获取记录' Newline
@ -2621,12 +2640,26 @@ tooltip : setcgscg回廊中的cg获取
helpUrl : /_docs/#/instruction helpUrl : /_docs/#/instruction
default : [""] default : [""]
allImages : ['EvalString_0'] allImages : ['EvalString_0']
colour : this.imageColor colour : this.soundColor
EvalString_0 = EvalString_0 ? (', "img": "'+EvalString_0+'"') : ''; EvalString_0 = EvalString_0 ? (', "img": "'+EvalString_0+'"') : '';
var code = '{"type": "setcgs"'+EvalString_0+'},\n'; var code = '{"type": "setcgs"'+EvalString_0+'},\n';
return code; return code;
*/; */;
setmusics_s
: '音乐鉴赏music 文件名'EvalString?'不填为清空music获取记录' Newline
/* setmusics_s
tooltip : setmusics音乐鉴赏中的隐藏music获取
helpUrl : /_docs/#/instruction
default : [""]
allBgms : ['EvalString_0']
colour : this.soundColor
EvalString_0 = EvalString_0 ? (', "bgm": "'+EvalString_0+'"') : '';
var code = '{"type": "setmusics"'+EvalString_0+'},\n';
return code;
*/;
scaleImage_s scaleImage_s
: '图片放缩' '图片编号' NInt '中心点像素' 'x' PosString? 'y' PosString? '移动方式' MoveMode_List BGNL? '放缩比例' Number '动画时间' Int '不等待执行完毕' Bool Newline : '图片放缩' '图片编号' NInt '中心点像素' 'x' PosString? 'y' PosString? '移动方式' MoveMode_List BGNL? '放缩比例' Number '动画时间' Int '不等待执行完毕' Bool Newline

View File

@ -620,6 +620,20 @@ MotaActionParser = function () {
case "setcgs": case "setcgs":
this.next = MotaActionBlocks["setcgs_s"].xmlText([data.img, this.next]); this.next = MotaActionBlocks["setcgs_s"].xmlText([data.img, this.next]);
break; break;
case "setmusics":
this.next = MotaActionBlocks["setmusics_s"].xmlText([
data.bgm,
this.next,
]);
break;
case "introAndLoop":
this.next = MotaActionBlocks["introAndLoop_s"].xmlText([
data.intro,
data.time,
data.loop,
this.next,
]);
break;
case "comment": // 注释 case "comment": // 注释
this.next = MotaActionBlocks["comment_s"].xmlText([ this.next = MotaActionBlocks["comment_s"].xmlText([
this.EvalString_Multi(data.text), this.EvalString_Multi(data.text),

View File

@ -1 +0,0 @@
{ "viewportLoc": [0, 0], "editorLastFloorId": "jiedao" }

View File

@ -122,6 +122,12 @@ var plugins_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_type": "textarea", "_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null", "_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "音乐鉴赏" "_data": "音乐鉴赏"
},
"intro&loop": {
"_leaf": true,
"_type": "textarea",
"_range": "typeof(thiseval)=='string' || thiseval==null",
"_data": "背景音乐拼接"
} }
} }
if (obj[key]) return obj[key]; if (obj[key]) return obj[key];

View File

@ -492,7 +492,6 @@ main.prototype.selectButton = function (index) {
main.prototype.importFonts = function (fonts) { main.prototype.importFonts = function (fonts) {
if (!(fonts instanceof Array) || fonts.length == 0) return; if (!(fonts instanceof Array) || fonts.length == 0) return;
var style = document.createElement("style"); var style = document.createElement("style");
style.type = "text/css";
var html = ""; var html = "";
fonts.forEach(function (font) { fonts.forEach(function (font) {
html += html +=

BIN
project/bgms/Ascension.opus Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
project/bgms/Halbmond.opus Normal file

Binary file not shown.

BIN
project/bgms/ed.opus Normal file

Binary file not shown.

BIN
project/bgms/theme.mp3 Normal file

Binary file not shown.

Binary file not shown.

View File

@ -897,11 +897,15 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"zone" "zone"
], ],
"bgms": [ "bgms": [
"Ascension.opus",
"Asphodelus_Ceui.opus", "Asphodelus_Ceui.opus",
"Blind_Alley.opus", "Blind_Alley.opus",
"Blood_Stain.opus",
"Crawler.opus", "Crawler.opus",
"Halbmond.opus",
"ed.opus",
"op.opus", "op.opus",
"theme.opus" "theme.mp3"
], ],
"sounds": [ "sounds": [
"aiy010000010.opus", "aiy010000010.opus",
@ -1019,6 +1023,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
], ],
"fonts": [ "fonts": [
"HATTEN", "HATTEN",
"Verdana",
"number", "number",
"pala", "pala",
"simhei" "simhei"
@ -1057,7 +1062,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"饰品", "饰品",
"饰品" "饰品"
], ],
"startBgm": "theme.opus", "startBgm": "theme.mp3",
"styles": { "styles": {
"startBackground": "project/images/background.webp", "startBackground": "project/images/background.webp",
"startVerticalBackground": "project/images/backgroundvertical.webp", "startVerticalBackground": "project/images/backgroundvertical.webp",
@ -1489,6 +1494,10 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"type": "setValue", "type": "setValue",
"name": "item:fly", "name": "item:fly",
"value": "1" "value": "1"
},
{
"type": "insert",
"name": "强制横屏"
} }
], ],
"shops": [ "shops": [

View File

@ -435,6 +435,11 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 =
"time": 30, "time": 30,
"style": "场景切换" "style": "场景切换"
}, },
{
"type": "playBgm",
"name": "Blood_Stain.opus",
"keep": true
},
{ {
"type": "cgtext", "type": "cgtext",
"bg": "other_0001.webp", "bg": "other_0001.webp",
@ -3397,6 +3402,11 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 =
} }
] ]
}, },
{
"type": "playBgm",
"name": "Halbmond.opus",
"keep": true
},
{ {
"type": "cgtext", "type": "cgtext",
"bg": "bg_3601.webp", "bg": "bg_3601.webp",

View File

@ -26,58 +26,25 @@ main.floors.street01=
"direction": "up" "direction": "up"
} }
], ],
"6,11": [ "10,11": [
{ {
"type": "insert", "type": "setmusics",
"name": "chapter04" "bgm": "op.opus"
} }
], ],
"4,11": [ "10,10": [
{ {
"type": "animationDrawable", "type": "setmusics",
"allFarme": 300, "bgm": "ed.opus"
"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" "type": "setmusics",
"bgm": "Asphodelus_Ceui.opus"
}
],
"10,9": [
{
"type": "setmusics"
} }
] ]
}, },

BIN
project/fonts/Verdana.ttf Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,534 +1,585 @@
html, body { html,
margin: 0; body {
padding: 0; margin: 0;
width: 100%; padding: 0;
height: 100%; width: 100%;
background-color: #000; height: 100%;
overflow: hidden; background-color: #000;
overflow: hidden;
} }
#gameGroup { #gameGroup {
position: absolute; position: absolute;
box-sizing: border-box; box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
background-color: #000; background-color: #000;
} }
#mainTips { #mainTips {
color: #fff; color: #fff;
font-size: 0.8em; font-size: 0.8em;
position: fixed; position: fixed;
top: 10px; top: 10px;
left: 10px; left: 10px;
z-index: 370; z-index: 370;
} }
#musicBtn { #musicBtn {
position: fixed; position: fixed;
bottom: 3px; bottom: 3px;
right: 3px; right: 3px;
cursor: pointer; cursor: pointer;
z-index: 400; z-index: 400;
display: none; display: none;
} }
#enlargeBtn { #enlargeBtn {
position: fixed; position: fixed;
bottom: 3px; bottom: 3px;
right: 34px; right: 34px;
cursor: pointer; cursor: pointer;
z-index: 400; z-index: 400;
display: none; display: none;
} }
#startPanel { #startPanel {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
background-color: #fff; background-color: #fff;
overflow: hidden; overflow: hidden;
z-index: 300; z-index: 300;
} }
#startTop { #startTop {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
background-color: #000; background-color: #000;
z-index: 350; z-index: 350;
} }
#startTopProgressBar { #startTopProgressBar {
width: 90%; width: 90%;
height: 5%; height: 5%;
margin: 0 5%; margin: 0 5%;
position: absolute; position: absolute;
top: 5%; top: 5%;
background-color: #fff; background-color: #fff;
z-index: 15; z-index: 15;
} }
#startTopProgress { #startTopProgress {
width: 0%; width: 0%;
height: 100%; height: 100%;
background-color: #666; background-color: #666;
} }
#startTopLoadTips { #startTopLoadTips {
color: #fff; color: #fff;
font-size: 0.6em; font-size: 0.6em;
position: absolute; position: absolute;
top: 10%; top: 10%;
left: 5%; left: 5%;
z-index: 15; z-index: 15;
} }
#startTopHint { #startTopHint {
color: #66CCFF; color: #66ccff;
position: absolute; position: absolute;
bottom: 0; bottom: 0;
left: 5%; left: 5%;
z-index: 15; z-index: 15;
font-size: 1.1em; font-size: 1.1em;
} }
#startBackground { #startBackground {
position:absolute; position: absolute;
top:50%; top: 50%;
left:50%; left: 50%;
height: 100%; height: 100%;
width: 100%; width: 100%;
transform:translate(-50%,-50%); transform: translate(-50%, -50%);
z-index: 260; z-index: 260;
} }
#startLogo { #startLogo {
user-select: none; user-select: none;
position: absolute; position: absolute;
z-index: 290; z-index: 290;
left: 0; left: 0;
right: 0; right: 0;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
margin-top: 8%; margin-top: 8%;
max-width: 100%; max-width: 100%;
text-align: center; text-align: center;
font: bold 0em STXingkai; font: bold 0em STXingkai;
color: #000000; color: #000000;
} }
#startTitle { #startTitle {
user-select: none; user-select: none;
position: absolute; position: absolute;
z-index: 280; z-index: 280;
} }
#startButtonGroup { #startButtonGroup {
width: auto; width: auto;
position: absolute; position: absolute;
text-align: center; text-align: center;
font-size: 1.4em; font-size: 1.4em;
display: none; display: none;
z-index: 310; z-index: 310;
bottom: 0; bottom: 0;
margin-bottom: 5%; margin-bottom: 5%;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
padding: 15px 25px; padding: 15px 25px;
min-width: 100%; min-width: 100%;
/* default value */ /* default value */
background-color: #000000; background-color: #000000;
opacity: 0.55; opacity: 0.55;
color: #FFFFFF; color: #ffffff;
border: #FFFFFF 0px solid; border: #ffffff 0px solid;
caret-color: #ffffff; caret-color: #ffffff;
border-radius: 0px; border-radius: 0px;
} }
#startButtons { #startButtons {
display: none; display: none;
} }
#levelChooseButtons { #levelChooseButtons {
display: none; display: none;
} }
.startButton { .startButton {
width: 100%; width: 100%;
margin: 0; margin: 0;
font:1.2rem "pala", sans-serif; font: 1.2rem pala, sans-serif;
font-weight: normal; font-weight: normal;
display: block; display: block;
cursor: pointer; cursor: pointer;
padding: 0px 0; padding: 0px 0;
border-color: transparent; border-color: transparent;
border-width: 0px; border-width: 0px;
border-style: solid; border-style: solid;
border-radius: 0px; border-radius: 0px;
} }
.onChoiceAnimate { .onChoiceAnimate {
animation: onChoice 2s ease-in-out 0s infinite normal none running; animation: onChoice 2s ease-in-out 0s infinite normal none running;
} }
#floorMsgGroup { #floorMsgGroup {
position: absolute; position: absolute;
text-align: center; text-align: center;
display: none; display: none;
color: #fff; color: #fff;
background-color: #000; background-color: #000;
z-index: 230; z-index: 230;
} }
#logoLabel { #logoLabel {
margin-top: 8%; margin-top: 8%;
font: bold 3em STXingkai; font: bold 3em STXingkai;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }
#versionLabel { #versionLabel {
margin-top: -3%; margin-top: -3%;
font-size: 1.2em; font-size: 1.2em;
font-weight: bold; font-weight: bold;
} }
#floorNameLabel { #floorNameLabel {
margin-top: 30px; margin-top: 30px;
font-size: 1.6em; font-size: 1.6em;
font-weight: bold; font-weight: bold;
} }
#statusBar { #statusBar {
position: absolute; position: absolute;
box-sizing: border-box; box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
background: url(project/materials/ground.png) repeat; background: url(project/materials/ground.png) repeat;
z-index: 185; z-index: 185;
display: none; display: none;
top: 0; top: 0;
left: 0; left: 0;
padding: 3px; padding: 3px;
} }
#statusBar .status{ #statusBar .status {
position: relative; position: relative;
display: block; display: block;
float: left; float: left;
width: 100%; width: 100%;
} }
.status img{ .status img {
vertical-align: middle; vertical-align: middle;
width: auto; width: auto;
height: 100%; height: 100%;
max-height: 1.6em; max-height: 1.6em;
} }
#statusBar span{ #statusBar span {
font: bold italic 1.1em Verdana; font: bold italic 1.1em Verdana;
display: inline; display: inline;
} }
#statusBar p { #statusBar p {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
width: 60%; width: 60%;
margin: 0; margin: 0;
color: white; color: white;
font: bold italic 1.1em Verdana; font: bold italic 1.1em Verdana;
white-space: nowrap; white-space: nowrap;
} }
#toolBar { #toolBar {
position: absolute; position: absolute;
background: url(project/materials/ground.png) repeat; background: url(project/materials/ground.png) repeat;
z-index: 210; z-index: 210;
box-sizing: border-box; box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
display: none; display: none;
padding: 3px; padding: 3px;
} }
#toolBar .tools{ #toolBar .tools {
position: relative; position: relative;
display: block; display: block;
float: left; float: left;
} }
p#hard { p#hard {
width: 6em; width: 6em;
vertical-align: middle; vertical-align: middle;
display: inline-block; display: inline-block;
color: red; color: red;
font: bold normal 1.1em "Arial Black"; font: bold normal 1.1em "Arial Black";
text-align: center; text-align: center;
margin: 0 6px 6px 0; margin: 0 6px 6px 0;
word-break: keep-all; word-break: keep-all;
} }
span#poison, span#weak, span#curse, span#pickaxe, span#bomb, span#fly { span#poison,
font-style: normal; span#weak,
font-size: 1em; span#curse,
span#pickaxe,
span#bomb,
span#fly {
font-style: normal;
font-size: 1em;
} }
p#name { p#name {
font-style: normal; font-style: normal;
} }
.gameCanvas { .gameCanvas {
position: absolute; position: absolute;
box-sizing: border-box; box-sizing: border-box;
-moz-box-sizing: border-box; -moz-box-sizing: border-box;
-webkit-box-sizing: border-box; -webkit-box-sizing: border-box;
} }
#gif { #gif {
z-index: 20; z-index: 20;
position: absolute; position: absolute;
overflow: hidden; overflow: hidden;
} }
#gif2 { #gif2 {
z-index: 90; z-index: 90;
position: absolute; position: absolute;
overflow: hidden; overflow: hidden;
} }
#gameDraw { #gameDraw {
position: absolute; position: absolute;
background: #000000; background: #000000;
overflow: hidden; overflow: hidden;
z-index: 185; z-index: 185;
} }
#bg { #bg {
z-index: 10; z-index: 10;
} }
#event { #event {
z-index: 30; z-index: 30;
} }
#hero { #hero {
z-index: 40; z-index: 40;
} }
#event2 { #event2 {
z-index: 50; z-index: 50;
} }
#fg { #fg {
z-index: 60; z-index: 60;
} }
#damage { #damage {
z-index: 65; z-index: 65;
} }
#animate { #animate {
z-index: 70; z-index: 70;
} }
#curtain { #curtain {
z-index: 125; z-index: 125;
} }
#ui { #ui {
z-index: 140; z-index: 140;
} }
#data { #data {
z-index: 170; z-index: 170;
} }
#inputDiv { #inputDiv {
display: none; display: none;
width: 100%; width: 100%;
height: 100%; height: 100%;
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
background: rgba(127,127,127,0.6); background: rgba(127, 127, 127, 0.6);
z-index: 2000 z-index: 2000;
} }
#inputDialog { #inputDialog {
position: fixed; position: fixed;
top: 50%; top: 50%;
left: 50%; left: 50%;
transform: translate(-50%, -55%); transform: translate(-50%, -55%);
background: white; background: white;
width: 250px; width: 250px;
min-height: 50px; min-height: 50px;
} }
#inputMessage { #inputMessage {
word-wrap: break-word; word-wrap: break-word;
text-align: left; text-align: left;
margin-left: 8%; margin-left: 8%;
margin-right: 5%; margin-right: 5%;
} }
#inputBox { #inputBox {
margin-left: 8%; margin-left: 8%;
width: 80%; width: 80%;
margin-bottom: 10px; margin-bottom: 10px;
padding: 5px 3px; padding: 5px 3px;
border: 1px solid; border: 1px solid;
background: #F0F0F0; background: #f0f0f0;
} }
#inputYes { #inputYes {
margin-bottom: 15px; margin-bottom: 15px;
margin-left: 8%; margin-left: 8%;
} }
#inputNo { #inputNo {
float:right; float: right;
margin-right: 10%; margin-right: 10%;
} }
#_selector, ._uievent_selector { #_selector,
animation: selector 2s ease-in-out 0s infinite normal none running; ._uievent_selector {
animation: selector 2s ease-in-out 0s infinite normal none running;
} }
@-webkit-keyframes selector { @-webkit-keyframes selector {
0% { opacity: 0.95; } 0% {
50% { opacity: 0.55; } opacity: 0.95;
100% { opacity: 0.95; } }
50% {
opacity: 0.55;
}
100% {
opacity: 0.95;
}
} }
@keyframes selector { @keyframes selector {
0% { opacity: 0.95; } 0% {
50% { opacity: 0.55; } opacity: 0.95;
100% { opacity: 0.95; } }
50% {
opacity: 0.55;
}
100% {
opacity: 0.95;
}
} }
#next { #next {
width: 5px; width: 5px;
height: 5px; height: 5px;
display: none; display: none;
position: absolute; position: absolute;
transform: rotate(45deg); transform: rotate(45deg);
border-bottom-width: 4px; border-bottom-width: 4px;
border-bottom-style: solid; border-bottom-style: solid;
border-right-width: 4px; border-right-width: 4px;
border-right-style: solid; border-right-style: solid;
-webkit-animation: next .5s ease-in-out alternate infinite; -webkit-animation: next 0.5s ease-in-out alternate infinite;
animation: next .5s ease-in-out alternate infinite; animation: next 0.5s ease-in-out alternate infinite;
left: 0; left: 0;
top: 0; top: 0;
opacity: 0.7; opacity: 0.7;
z-index: 169; z-index: 169;
} }
@-webkit-keyframes next { @-webkit-keyframes next {
100% { 100% {
transform: rotate(45deg) translate(-3px, -3px); transform: rotate(45deg) translate(-3px, -3px);
} }
} }
@keyframes next { @keyframes next {
100% { 100% {
transform: rotate(45deg) translate(-3px, -3px); transform: rotate(45deg) translate(-3px, -3px);
} }
} }
#startImageBackgroundDiv { #startImageBackgroundDiv {
display: none; display: none;
width: 100%; width: 100%;
height: 100%; height: 100%;
position: fixed; position: fixed;
z-index: 10000; z-index: 10000;
} }
#startImageDiv { #startImageDiv {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: fixed; position: fixed;
background: black; background: black;
opacity: 1; opacity: 1;
} }
#startImageLogo { #startImageLogo {
opacity: 0; opacity: 0;
max-width: 60%; max-width: 60%;
max-height: 60%; max-height: 60%;
position: fixed; position: fixed;
left: 50%; left: 50%;
top: 50%; top: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
.startImageAnimation { .startImageAnimation {
-webkit-animation: startImage 4s ease-in-out 1s alternate 1; -webkit-animation: startImage 4s ease-in-out 1s alternate 1;
animation: startImage 4s ease-in-out 1s alternate 1; animation: startImage 4s ease-in-out 1s alternate 1;
} }
@-webkit-keyframes startImage { @-webkit-keyframes startImage {
0% { opacity: 0; } 0% {
60% { opacity: 1; } opacity: 0;
100% { opacity: 0; } }
60% {
opacity: 1;
}
100% {
opacity: 0;
}
} }
@keyframes startImage { @keyframes startImage {
0% { opacity: 0; } 0% {
60% { opacity: 1; } opacity: 0;
100% { opacity: 0; } }
60% {
opacity: 1;
}
100% {
opacity: 0;
}
} }
.startImageDivAnimation { .startImageDivAnimation {
-webkit-animation: startImageDivDisappear 2s ease-in-out 5s alternate 1; -webkit-animation: startImageDivDisappear 2s ease-in-out 5s alternate 1;
animation: startImageDivDisappear 2s ease-in-out 5s alternate 1; animation: startImageDivDisappear 2s ease-in-out 5s alternate 1;
} }
@-webkit-keyframes startImageDivDisappear { @-webkit-keyframes startImageDivDisappear {
0% { opacity: 1 } 0% {
100% { opacity: 0 } opacity: 1;
}
100% {
opacity: 0;
}
} }
@keyframes startImageDivDisappear { @keyframes startImageDivDisappear {
0% { opacity: 1 } 0% {
100% { opacity: 0 } opacity: 1;
}
100% {
opacity: 0;
}
} }
#ui-editor { #ui-editor {
z-index: 9999; z-index: 9999;
position: absolute; position: absolute;
overflow: visible; overflow: visible;
height: 100%; height: 100%;
} }
@font-face { @font-face {
font-family: Fira Code; font-family: Fira Code;
src: url(../src/fonts/FiraCode-Regular.ttf); src: url(../src/fonts/FiraCode-Regular.ttf);
} }
/* 注释下面这三行以开启抗锯齿 */ /* 注释下面这三行以开启抗锯齿 */
.anti-aliasing { .anti-aliasing {
image-rendering: pixelated; image-rendering: pixelated;
} }
.warning { .warning {
transition: left cubic-bezier(0, 0.9, 1, 0.1) 2.5s; transition: left cubic-bezier(0, 0.9, 1, 0.1) 2.5s;
-webkit-transition: left cubic-bezier(0, 0.9, 1, 0.1) 2.5s; -webkit-transition: left cubic-bezier(0, 0.9, 1, 0.1) 2.5s;
animation: warning 1s linear 0s alternate infinite; animation: warning 1s linear 0s alternate infinite;
-webkit-animation: warning 1s linear 0s alternate infinite; -webkit-animation: warning 1s linear 0s alternate infinite;
} }
@keyframes warning { @keyframes warning {
0 % { text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);} 0 % {
50 % { text-shadow: 0px 0px 30px rgba(255, 0, 0, 1), 0px 0px 6px rgb(129, 0, 0);} text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);
100 % { text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);} }
50 % {
text-shadow: 0px 0px 30px rgba(255, 0, 0, 1), 0px 0px 6px rgb(129, 0, 0);
}
100 % {
text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);
}
} }
@-webkit - keyframes warning { @-webkit - keyframes warning {
0 % { text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);} 0 % {
50 % { text-shadow: 0px 0px 30px rgba(255, 0, 0, 1), 0px 0px 6px rgb(129, 0, 0);} text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);
100 % { text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);} }
50 % {
text-shadow: 0px 0px 30px rgba(255, 0, 0, 1), 0px 0px 6px rgb(129, 0, 0);
}
100 % {
text-shadow: 0px 0px 9px rgba(255, 0, 0, 0.5), 0px 0px 6px rgb(129, 0, 0);
}
} }
.gameCanvas { .gameCanvas {
transition: transform 1.5s ease-out; transition: transform 1.5s ease-out;
-webkit-transition: transform 1.5s ease-out; -webkit-transition: transform 1.5s ease-out;
} }