music部分
This commit is contained in:
parent
105a35c087
commit
97c5998a01
@ -1 +1 @@
|
|||||||
N4IgZgNg9lBOCSATEAuEBnALrApjzADAIwgA0IAFjrFKqAJYC2AhgOY6qXVQB0ADgDtWZEMwFNmmDijDMI6HOQHNG0kAGFmTERABuqIuQp8WADwMFLRvhasgWysxfIPmqAuUkBrZyEQ4wX0Z/QJQiD3soARwAT3dyHFMbFAicAEcAV3oTHAFMVABtAF1yeilGdDoQAGMorDFMSpRQACMYHzDySDiwgF9yTBh5On6QdKy+JuBe0ehqqsR6XGrMeijODJtycxQAVnIe8NHINimQMpxGABF8LQhUbAzFEAyFACF8AHc8AQAZelYFHyKEezwA+mCFDhEBCDAAmYgANjhAE4AByItHkCGwMQwsHwpGojFY0S4ZhNAqgRxqAA6GQALDgCC16btqgy4SIWJNChotIwKFBVCAiv1qSo6YzmayMuzOdzmLyUAUQAAregZVgZMSi8UgGmcelMllsjlclxKykgADSABUAGp60gSkVoekAdjhyM9cLAJEtytV9odADEuWKXQbJUaMl6fXG/QH7Fa+awoBBEF5Ys7XVKTbL5RaU0GQC16BRXhlaJG87GTcwzQrA9aNcwoJgxMJa9G3SBjczG3LzYrS+gqEIBLohSKe4b3dKCEOi6PreP6FOZxw5zGF/G4b7/au+Rroe3c72pfvD8meWvsHhCMmsLh8ARi9qu9UKF2RJ+hN+XYRvq879omCZekeLZ8qY9DtrBXbEBeoG+hBSbHiqIAIVACFCO+eolBgXjZKgsjyM8P6wMgKTYmClGIOoGZwLCaC4MgtEXIwAASG6YCxxS0RAODMLoOC/FA1QsdMtG6PQ6AXPiVQvo+SEgrATyjC0Xw/AAgpgnbVF4VySG4KACBkEAQMcGbQN8sCUoRWA4MqhgppgHQROgfB4NR4TkC+vhsPQvi8b4tQCEEQXzDIcgKP5narFg9DVGcgydhAdpMNIiJekQPCktUGSwLAmVukQaIegyPCIpYtV1ZYDLWPEZaSJgQnNYwUQ5jRYxJM1LStUJxksOwzV8FAclRMNbDSKkpjYMw02jT1nWiVcSw4CsEA9BEAICHAOAAMpSMqnmdrAwI5XCeVojMRjMFRnAYdJIA0BkUicDaUDhuoDKsAAvCIuhyE8UyjKJ9lrBFC4ojgADMiBsi0uwEJ6zAoojGQou+qNymiuwMmaBBgPSKKIkQgTkNq9DUSAiItEyLSIB6aJgkQzAMswYIMmAHoomCaKIHDLRgrscO7HCAQMogiBgCiDIiKsZUeuLYsMvLcPy4ivRAA===
|
N4IgZgNg9lBOCSATEAuEBnALrApjzADAIwgA0IAFjrFKqAJYC2AhgOY6qXVQB0ADgDtWZEMwFNmmDijDMI6HOQHNG0kAGFmTERABuqIuQp8WADwMFLRvhasgWysxfIPmqAuUkBrZyEQ4wX0Z/QJQiD3soARwAT3dyHFMbFAicAEcAV3oTHAFMVABtAF1yeilGdDoQAGMorDFMSpRQACMYHzDySDiwgF9yTBh5On6QdKy+JtB0AHc4RBI+0ehqqsR6XGrMeijODJtycxQAVnIe8NHINimQMpxGABF8LQhUbAzFEAyFACF8GbwAgAMvRWBR8ih3p8APrQhQ4RCw1AAJgA7MiAMyWDEADlOIFhsDEiOhKPRWIIuPxzFwzCaBVAjjUAB0MgAWHAEFqs47VNnIkQsSaFDRaRgUKCqEBFfqMlQs9mc7kZXn8wXMYUoAogABW9AyrAyYmlspATM4rI5XJ5fIFLg19JAAGkACoANRNpDlUrQrPRADZkX7kWASPbNdrXW6AGICmVes3yi0ZANBlMhsP2B0i1hQCCILyxT3ehVW5Wqu1ZiMgFr0CjfDK0eMl5NW5g2tXhx165hQTBiYTNxM+kCWzntlW29XV9BUIQCXQSqVD82+xUECcV6eO2f0BdLjgrpNr1PB0PbkV6hG94vDhWn9PnrsirC4fDEESvvCESuGgfVCgBxEP8hAAgc41NVdR3TQMz0zIVHVMeheyQgcPyPEdg1gx94OzLUQFQqBUKEAgIJKDAvGyVBZHkT5ANgZAUnIWF6MQdQ8zgJE0FwZBmOhO5GAACT3TAuOKPiIBwZhdBwIEoGqLjgFGWFdHodA7hJKov3fRYoVGFp/kBABBTB+2qLwHkkNwUAEDIIAgPj1nQZgWkkzTmgwbBvw/LUCiIDFjhKYoZUuPNoABWB6XIrAcE1Qws0wDoInQPg8EY8JyFfXw2HoXwRN8WoBCCHLVhkOQFEy/ttiwehqhuQZ+wgF0mGkY4iHanEMQATn9HhLAILrkWRIg2XIaoMlgWBmp9Ea2S6nh8WMeIa0kTBJOWxgoiLJixiSZaWlWyTLJYdhlr4KA1KiY62GkVJTGwZhrtOnbNpkh4NhwLYIB6CJQQEOAcAAZSkTVkv7WAIVRUj5uOXpRlYzgLw87TCEWUAhUKDwsdIbHcZx/GCgAWkMYnSFJ8nDA8CmyZJ2maZpkosZC8gaAyKROCdKBY3UNlWAAXhEXQ5A+KZRhkyKdiKtcupwDFEB5FpjgIP1mC6+WMi60jlZVPE2RtAgwFZHqiECchDXoRiQH9FoORaRBURxaEiGYNlmGhNkwFRLroRxRAMRaaFjgC5EAjZRBEDALq2REbYZtRALUXCcJ/QxDFUV6IA
|
@ -1 +1 @@
|
|||||||
{"viewportLoc":[0,0],"editorLastFloorId":"street01"}
|
{"viewportLoc":[0,0],"editorLastFloorId":"street01","lastUsed":[{"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":36,"id":"shield1","images":"items","y":55,"recent":1735710097750,"frequent":1}]}
|
@ -116,6 +116,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": "警告消息"
|
||||||
|
},
|
||||||
|
"musicMode": {
|
||||||
|
"_leaf": true,
|
||||||
|
"_type": "textarea",
|
||||||
|
"_range": "typeof(thiseval)=='string' || thiseval==null",
|
||||||
|
"_data": "音乐鉴赏"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (obj[key]) return obj[key];
|
if (obj[key]) return obj[key];
|
||||||
|
283
index.html
283
index.html
@ -1,205 +1,226 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv='content-type' content='text/html' charset='utf-8'>
|
<meta http-equiv="content-type" content="text/html" charset="utf-8" />
|
||||||
<meta http-equiv='X-UA-Compatible' content='IE=Edge, chrome=1'>
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1" />
|
||||||
<meta name='author' content='ckcz123'>
|
<meta name="author" content="ckcz123" />
|
||||||
<meta name='viewport'
|
<meta
|
||||||
content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=yes'>
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=yes"
|
||||||
|
/>
|
||||||
<title>HTML5魔塔</title>
|
<title>HTML5魔塔</title>
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
<meta
|
||||||
<meta name="screen-orientation" content="portrait">
|
name="apple-mobile-web-app-status-bar-style"
|
||||||
<meta name="full-screen" content="yes">
|
content="black-translucent"
|
||||||
<meta name="browsermode" content="application">
|
/>
|
||||||
<meta name="x5-orientation" content="portrait">
|
<meta name="screen-orientation" content="portrait" />
|
||||||
<meta name="x5-fullscreen" content="true">
|
<meta name="full-screen" content="yes" />
|
||||||
<meta name="x5-page-mode" content="app">
|
<meta name="browsermode" content="application" />
|
||||||
<link type='text/css' href='styles.css' rel='stylesheet'>
|
<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>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id='startImageBackgroundDiv'>
|
<div id="startImageBackgroundDiv">
|
||||||
<div id='startImageDiv'></div>
|
<div id="startImageDiv"></div>
|
||||||
<img id='startImageLogo' />
|
<img id="startImageLogo" />
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
(function () {
|
(function () {
|
||||||
var startImageBackgroundDiv = document.getElementById('startImageBackgroundDiv');
|
var startImageBackgroundDiv = document.getElementById(
|
||||||
var startImageLogo = document.getElementById('startImageLogo');
|
"startImageBackgroundDiv"
|
||||||
var startImageDiv = document.getElementById('startImageDiv');
|
);
|
||||||
|
var startImageLogo = document.getElementById("startImageLogo");
|
||||||
|
var startImageDiv = document.getElementById("startImageDiv");
|
||||||
startImageLogo.onload = function () {
|
startImageLogo.onload = function () {
|
||||||
startImageBackgroundDiv.style.display = 'block';
|
startImageBackgroundDiv.style.display = "block";
|
||||||
var onAnimationEnd = function () {
|
var onAnimationEnd = function () {
|
||||||
startImageBackgroundDiv.style.display = 'none';
|
startImageBackgroundDiv.style.display = "none";
|
||||||
startImageLogo.classList.remove("startImageAnimation");
|
startImageLogo.classList.remove("startImageAnimation");
|
||||||
startImageDiv.classList.remove("startImageDivAnimation");
|
startImageDiv.classList.remove("startImageDivAnimation");
|
||||||
}
|
};
|
||||||
startImageDiv.addEventListener("webkitAnimationEnd", onAnimationEnd);
|
startImageDiv.addEventListener("webkitAnimationEnd", onAnimationEnd);
|
||||||
startImageDiv.addEventListener("animationend", onAnimationEnd);
|
startImageDiv.addEventListener("animationend", onAnimationEnd);
|
||||||
startImageLogo.classList.add("startImageAnimation");
|
startImageLogo.classList.add("startImageAnimation");
|
||||||
startImageDiv.classList.add("startImageDivAnimation");
|
startImageDiv.classList.add("startImageDivAnimation");
|
||||||
// 注释下面这句话以禁止单击立刻跳过开场动画
|
// 注释下面这句话以禁止单击立刻跳过开场动画
|
||||||
startImageBackgroundDiv.onclick = onAnimationEnd;
|
startImageBackgroundDiv.onclick = onAnimationEnd;
|
||||||
}
|
};
|
||||||
startImageLogo.onerror = function () { }
|
startImageLogo.onerror = function () {};
|
||||||
startImageLogo.src = "logo.png";
|
startImageLogo.src = "logo.png";
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<!-- injection -->
|
<!-- injection -->
|
||||||
<div id='gameGroup'>
|
<div id="gameGroup">
|
||||||
<p id='mainTips'>请稍候...</p>
|
<p id="mainTips">请稍候...</p>
|
||||||
<img id='musicBtn'>
|
<img id="musicBtn" />
|
||||||
<div id='startPanel'>
|
<div id="startPanel">
|
||||||
<div id='startTop'>
|
<div id="startTop">
|
||||||
<div id='startTopProgressBar'>
|
<div id="startTopProgressBar">
|
||||||
<div id='startTopProgress'></div>
|
<div id="startTopProgress"></div>
|
||||||
</div>
|
</div>
|
||||||
<p id='startTopLoadTips'>资源即将开始加载</p>
|
<p id="startTopLoadTips">资源即将开始加载</p>
|
||||||
<p id='startTopHint'>HTML5魔塔游戏平台,享受更多魔塔游戏:<br />https://h5mota.com/</p>
|
<p id="startTopHint">
|
||||||
|
HTML5魔塔游戏平台,享受更多魔塔游戏:<br />https://h5mota.com/
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<img id='startBackground'>
|
<img id="startBackground" />
|
||||||
<p id='startLogo'></p>
|
<p id="startLogo"></p>
|
||||||
<div id='startButtonGroup'>
|
<div id="startButtonGroup">
|
||||||
<div id='startButtons'>
|
<div id="startButtons">
|
||||||
<span class='startButton' id='playGame'>START GAME</span>
|
<span class="startButton" id="playGame">START GAME</span>
|
||||||
<span class='startButton' id='loadGame'>LOAD GAME</span>
|
<span class="startButton" id="loadGame">LOAD GAME</span>
|
||||||
<span class='startButton' id='CGMode'>CG MODE</span>
|
<span class="startButton" id="CGMode">CG MODE</span>
|
||||||
<span class='startButton' id='replayGame'>REPLAY MODE</span>
|
<span class="startButton" id="musicMode">MUSIC MODE</span>
|
||||||
|
<span class="startButton" id="replayGame">REPLAY MODE</span>
|
||||||
</div>
|
</div>
|
||||||
<div id='levelChooseButtons'></div>
|
<div id="levelChooseButtons"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id='floorMsgGroup'>
|
<div id="floorMsgGroup">
|
||||||
<p id='logoLabel'></p>
|
<p id="logoLabel"></p>
|
||||||
<p id='versionLabel'></p>
|
<p id="versionLabel"></p>
|
||||||
<p id='floorNameLabel'></p>
|
<p id="floorNameLabel"></p>
|
||||||
</div>
|
</div>
|
||||||
<div id='statusBar' class="clearfix">
|
<div id="statusBar" class="clearfix">
|
||||||
<div class="status" id="floorCol">
|
<div class="status" id="floorCol">
|
||||||
<img id="img-floor">
|
<img id="img-floor" />
|
||||||
<p class='statusLabel statusText' id='floor'></p>
|
<p class="statusLabel statusText" id="floor"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="nameCol">
|
<div class="status" id="nameCol">
|
||||||
<img id="img-name">
|
<img id="img-name" />
|
||||||
<p class='statusLabel statusText' id='name'></p>
|
<p class="statusLabel statusText" id="name"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="lvCol">
|
<div class="status" id="lvCol">
|
||||||
<img id="img-lv">
|
<img id="img-lv" />
|
||||||
<p class='statusLabel statusText' id='lv'></p>
|
<p class="statusLabel statusText" id="lv"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id='hpmaxCol'>
|
<div class="status" id="hpmaxCol">
|
||||||
<img id="img-hpmax">
|
<img id="img-hpmax" />
|
||||||
<p class='statusLabel statusText' id='hpmax'></p>
|
<p class="statusLabel statusText" id="hpmax"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id='hpCol'>
|
<div class="status" id="hpCol">
|
||||||
<img id="img-hp">
|
<img id="img-hp" />
|
||||||
<p class='statusLabel statusText' id='hp'></p>
|
<p class="statusLabel statusText" id="hp"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id='manaCol'>
|
<div class="status" id="manaCol">
|
||||||
<img id="img-mana">
|
<img id="img-mana" />
|
||||||
<p class='statusLabel statusText' id='mana'></p>
|
<p class="statusLabel statusText" id="mana"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id='atkCol'>
|
<div class="status" id="atkCol">
|
||||||
<img id="img-atk">
|
<img id="img-atk" />
|
||||||
<p class='statusLabel statusText' id='atk'></p>
|
<p class="statusLabel statusText" id="atk"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id='defCol'>
|
<div class="status" id="defCol">
|
||||||
<img id="img-def">
|
<img id="img-def" />
|
||||||
<p class='statusLabel statusText' id='def'></p>
|
<p class="statusLabel statusText" id="def"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="mdefCol">
|
<div class="status" id="mdefCol">
|
||||||
<img id="img-mdef">
|
<img id="img-mdef" />
|
||||||
<p class='statusLabel statusText' id='mdef'></p>
|
<p class="statusLabel statusText" id="mdef"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="moneyCol">
|
<div class="status" id="moneyCol">
|
||||||
<img id="img-money">
|
<img id="img-money" />
|
||||||
<p class='statusLabel statusText' id='money'></p>
|
<p class="statusLabel statusText" id="money"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="expCol">
|
<div class="status" id="expCol">
|
||||||
<img id="img-exp">
|
<img id="img-exp" />
|
||||||
<p class='statusLabel statusText' id='exp'></p>
|
<p class="statusLabel statusText" id="exp"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="upCol">
|
<div class="status" id="upCol">
|
||||||
<img id="img-up">
|
<img id="img-up" />
|
||||||
<p class='statusLabel statusText' id='up'></p>
|
<p class="statusLabel statusText" id="up"></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="skillCol">
|
<div class="status" id="skillCol">
|
||||||
<img id="img-skill">
|
<img id="img-skill" />
|
||||||
<p class='statusLabel statusText' id='skill' style='font-style: normal'></p>
|
<p
|
||||||
|
class="statusLabel statusText"
|
||||||
|
id="skill"
|
||||||
|
style="font-style: normal"
|
||||||
|
></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id='keyCol'>
|
<div class="status" id="keyCol">
|
||||||
<span class='statusLabel' id='yellowKey' style="color:#FFCCAA"></span>
|
<span
|
||||||
<span class='statusLabel' id='blueKey' style="color:#AAAADD"></span>
|
class="statusLabel"
|
||||||
<span class='statusLabel' id='redKey' style="color:#FF8888"></span>
|
id="yellowKey"
|
||||||
<span class='statusLabel' id='greenKey' style="color:#88FF88"></span>
|
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>
|
||||||
<div class="status" id='pzfCol'>
|
<div class="status" id="pzfCol">
|
||||||
<span class='statusLabel' id='pickaxe' style="color: #BC6E27"></span>
|
<span class="statusLabel" id="pickaxe" style="color: #bc6e27"></span>
|
||||||
<span class='statusLabel' id='bomb' style="color: #FA14B9"></span>
|
<span class="statusLabel" id="bomb" style="color: #fa14b9"></span>
|
||||||
<span class='statusLabel' id='fly' style="color: #8DB600"></span>
|
<span class="statusLabel" id="fly" style="color: #8db600"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="status" id="debuffCol">
|
<div class="status" id="debuffCol">
|
||||||
<span class='statusLabel' id='poison' style="color: #AFFCA8;"></span>
|
<span class="statusLabel" id="poison" style="color: #affca8"></span>
|
||||||
<span class='statusLabel' id='weak' style="color: #FECCD0;"></span>
|
<span class="statusLabel" id="weak" style="color: #feccd0"></span>
|
||||||
<span class='statusLabel' id='curse' style="color: #C2F4E7;"></span>
|
<span class="statusLabel" id="curse" style="color: #c2f4e7"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 状态栏canvas化 -->
|
<!-- 状态栏canvas化 -->
|
||||||
<canvas id="statusCanvas" style="position: absolute; left: 0; top: 0;"></canvas>
|
<canvas
|
||||||
|
id="statusCanvas"
|
||||||
|
style="position: absolute; left: 0; top: 0"
|
||||||
|
></canvas>
|
||||||
</div>
|
</div>
|
||||||
<div id="toolBar" class="clearfix">
|
<div id="toolBar" class="clearfix">
|
||||||
<img class="tools" id='img-book'>
|
<img class="tools" id="img-book" />
|
||||||
<img class="tools" id='img-fly'>
|
<img class="tools" id="img-fly" />
|
||||||
<img class="tools" id='img-toolbox'>
|
<img class="tools" id="img-toolbox" />
|
||||||
<img class="tools" id='img-keyboard'>
|
<img class="tools" id="img-keyboard" />
|
||||||
<img class="tools" id='img-shop'>
|
<img class="tools" id="img-shop" />
|
||||||
<img class="tools" id='img-save'>
|
<img class="tools" id="img-save" />
|
||||||
<img class="tools" id='img-load'>
|
<img class="tools" id="img-load" />
|
||||||
<img class="tools" id='img-settings'>
|
<img class="tools" id="img-settings" />
|
||||||
<img class="tools" id='img-btn1' style='display:none'>
|
<img class="tools" id="img-btn1" style="display: none" />
|
||||||
<img class="tools" id='img-btn2' 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-btn3" style="display: none" />
|
||||||
<img class="tools" id='img-btn4' 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-btn5" style="display: none" />
|
||||||
<img class="tools" id='img-btn6' 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-btn7" style="display: none" />
|
||||||
<img class="tools" id='img-btn8' style='display:none'>
|
<img class="tools" id="img-btn8" style="display: none" />
|
||||||
<p class="statusLabel tools" id="hard"></p>
|
<p class="statusLabel tools" id="hard"></p>
|
||||||
</div>
|
</div>
|
||||||
<div id="gameDraw">
|
<div id="gameDraw">
|
||||||
<div id="gif"></div>
|
<div id="gif"></div>
|
||||||
<div id="gif2"></div>
|
<div id="gif2"></div>
|
||||||
<canvas class='gameCanvas anti-aliasing' id='bg'></canvas>
|
<canvas class="gameCanvas anti-aliasing" id="bg"></canvas>
|
||||||
<canvas class='gameCanvas anti-aliasing' id='event'></canvas>
|
<canvas class="gameCanvas anti-aliasing" id="event"></canvas>
|
||||||
<canvas class='gameCanvas anti-aliasing' id='hero'></canvas>
|
<canvas class="gameCanvas anti-aliasing" id="hero"></canvas>
|
||||||
<canvas class='gameCanvas anti-aliasing' id='event2'></canvas>
|
<canvas class="gameCanvas anti-aliasing" id="event2"></canvas>
|
||||||
<canvas class='gameCanvas anti-aliasing' id='fg'></canvas>
|
<canvas class="gameCanvas anti-aliasing" id="fg"></canvas>
|
||||||
<canvas class='gameCanvas' id='damage'></canvas>
|
<canvas class="gameCanvas" id="damage"></canvas>
|
||||||
<canvas class='gameCanvas' id='animate'></canvas>
|
<canvas class="gameCanvas" id="animate"></canvas>
|
||||||
<canvas class='gameCanvas' id='curtain'></canvas>
|
<canvas class="gameCanvas" id="curtain"></canvas>
|
||||||
<canvas class='gameCanvas' id='ui'></canvas>
|
<canvas class="gameCanvas" id="ui"></canvas>
|
||||||
<canvas class='gameCanvas' id='data'>此浏览器不支持HTML5</canvas>
|
<canvas class="gameCanvas" id="data">此浏览器不支持HTML5</canvas>
|
||||||
<div id="next"></div>
|
<div id="next"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id='inputDiv'>
|
<div id="inputDiv">
|
||||||
<div id='inputDialog'>
|
<div id="inputDialog">
|
||||||
<p id="inputMessage">请输入文字...</p>
|
<p id="inputMessage">请输入文字...</p>
|
||||||
<input id='inputBox' type="text" autocomplete="off" />
|
<input id="inputBox" type="text" autocomplete="off" />
|
||||||
<button id='inputYes'>确定</button>
|
<button id="inputYes">确定</button>
|
||||||
<button id='inputNo'>取消</button>
|
<button id="inputNo">取消</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="ui-editor"></div>
|
<div id="ui-editor"></div>
|
||||||
<!-- injection -->
|
<!-- injection -->
|
||||||
<script src='libs/thirdparty/lz-string.min.js'></script>
|
<script src="libs/thirdparty/lz-string.min.js"></script>
|
||||||
<script src='libs/thirdparty/priority-queue.min.js'></script>
|
<script src="libs/thirdparty/priority-queue.min.js"></script>
|
||||||
<script src='libs/thirdparty/localforage.min.js'></script>
|
<script src="libs/thirdparty/localforage.min.js"></script>
|
||||||
<script src='libs/thirdparty/zip.min.js'></script>
|
<script src="libs/thirdparty/zip.min.js"></script>
|
||||||
<script id='mainScript' src='main.js'></script>
|
<script id="mainScript" src="main.js"></script>
|
||||||
<script>main.init('play'); main.listen();</script>
|
<script>
|
||||||
|
main.init("play");
|
||||||
|
main.listen();
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
513
main.js
513
main.js
@ -2,7 +2,7 @@
|
|||||||
function main() {
|
function main() {
|
||||||
//------------------------ 用户修改内容 ------------------------//
|
//------------------------ 用户修改内容 ------------------------//
|
||||||
|
|
||||||
this.version = '2.10.3'; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。
|
this.version = "2.10.3"; // 游戏版本号;如果更改了游戏内容建议修改此version以免造成缓存问题。
|
||||||
|
|
||||||
this.useCompress = false; // 是否使用压缩文件
|
this.useCompress = false; // 是否使用压缩文件
|
||||||
// 当你即将发布你的塔时,请使用“JS代码压缩工具”将所有js代码进行压缩,然后将这里的useCompress改为true。
|
// 当你即将发布你的塔时,请使用“JS代码压缩工具”将所有js代码进行压缩,然后将这里的useCompress改为true。
|
||||||
@ -10,7 +10,7 @@ function main() {
|
|||||||
// 如果要进行剧本的修改请务必将其改成false。
|
// 如果要进行剧本的修改请务必将其改成false。
|
||||||
|
|
||||||
this.bgmRemote = false; // 是否采用远程BGM
|
this.bgmRemote = false; // 是否采用远程BGM
|
||||||
this.bgmRemoteRoot = 'https://h5mota.com/music/'; // 远程BGM的根目录
|
this.bgmRemoteRoot = "https://h5mota.com/music/"; // 远程BGM的根目录
|
||||||
|
|
||||||
this.isCompetition = false; // 是否是比赛模式
|
this.isCompetition = false; // 是否是比赛模式
|
||||||
this.enableSplitChunks = true; // 允许拆分压缩包
|
this.enableSplitChunks = true; // 允许拆分压缩包
|
||||||
@ -21,135 +21,134 @@ function main() {
|
|||||||
|
|
||||||
this.dom = {
|
this.dom = {
|
||||||
body: document.body,
|
body: document.body,
|
||||||
gameGroup: document.getElementById('gameGroup'),
|
gameGroup: document.getElementById("gameGroup"),
|
||||||
mainTips: document.getElementById('mainTips'),
|
mainTips: document.getElementById("mainTips"),
|
||||||
musicBtn: document.getElementById('musicBtn'),
|
musicBtn: document.getElementById("musicBtn"),
|
||||||
enlargeBtn: document.createElement('img'),
|
enlargeBtn: document.createElement("img"),
|
||||||
startPanel: document.getElementById('startPanel'),
|
startPanel: document.getElementById("startPanel"),
|
||||||
startTop: document.getElementById('startTop'),
|
startTop: document.getElementById("startTop"),
|
||||||
startTopProgressBar: document.getElementById('startTopProgressBar'),
|
startTopProgressBar: document.getElementById("startTopProgressBar"),
|
||||||
startTopProgress: document.getElementById('startTopProgress'),
|
startTopProgress: document.getElementById("startTopProgress"),
|
||||||
startTopLoadTips: document.getElementById('startTopLoadTips'),
|
startTopLoadTips: document.getElementById("startTopLoadTips"),
|
||||||
startBackground: document.getElementById('startBackground'),
|
startBackground: document.getElementById("startBackground"),
|
||||||
startLogo: document.getElementById('startLogo'),
|
startLogo: document.getElementById("startLogo"),
|
||||||
startButtonGroup: document.getElementById('startButtonGroup'),
|
startButtonGroup: document.getElementById("startButtonGroup"),
|
||||||
floorMsgGroup: document.getElementById('floorMsgGroup'),
|
floorMsgGroup: document.getElementById("floorMsgGroup"),
|
||||||
logoLabel: document.getElementById('logoLabel'),
|
logoLabel: document.getElementById("logoLabel"),
|
||||||
versionLabel: document.getElementById('versionLabel'),
|
versionLabel: document.getElementById("versionLabel"),
|
||||||
floorNameLabel: document.getElementById('floorNameLabel'),
|
floorNameLabel: document.getElementById("floorNameLabel"),
|
||||||
statusBar: document.getElementById('statusBar'),
|
statusBar: document.getElementById("statusBar"),
|
||||||
status: document.getElementsByClassName('status'),
|
status: document.getElementsByClassName("status"),
|
||||||
toolBar: document.getElementById('toolBar'),
|
toolBar: document.getElementById("toolBar"),
|
||||||
tools: document.getElementsByClassName('tools'),
|
tools: document.getElementsByClassName("tools"),
|
||||||
gameCanvas: document.getElementsByClassName('gameCanvas'),
|
gameCanvas: document.getElementsByClassName("gameCanvas"),
|
||||||
gif: document.getElementById('gif'),
|
gif: document.getElementById("gif"),
|
||||||
gif2: document.getElementById('gif2'),
|
gif2: document.getElementById("gif2"),
|
||||||
gameDraw: document.getElementById('gameDraw'),
|
gameDraw: document.getElementById("gameDraw"),
|
||||||
startButtons: document.getElementById('startButtons'),
|
startButtons: document.getElementById("startButtons"),
|
||||||
playGame: document.getElementById('playGame'),
|
playGame: document.getElementById("playGame"),
|
||||||
loadGame: document.getElementById('loadGame'),
|
loadGame: document.getElementById("loadGame"),
|
||||||
CGMode: document.getElementById('CGMode'),
|
CGMode: document.getElementById("CGMode"),
|
||||||
replayGame: document.getElementById('replayGame'),
|
musicMode: document.getElementById("musicMode"),
|
||||||
levelChooseButtons: document.getElementById('levelChooseButtons'),
|
replayGame: document.getElementById("replayGame"),
|
||||||
data: document.getElementById('data'),
|
levelChooseButtons: document.getElementById("levelChooseButtons"),
|
||||||
statusLabels: document.getElementsByClassName('statusLabel'),
|
data: document.getElementById("data"),
|
||||||
statusTexts: document.getElementsByClassName('statusText'),
|
statusLabels: document.getElementsByClassName("statusLabel"),
|
||||||
floorCol: document.getElementById('floorCol'),
|
statusTexts: document.getElementsByClassName("statusText"),
|
||||||
nameCol: document.getElementById('nameCol'),
|
floorCol: document.getElementById("floorCol"),
|
||||||
lvCol: document.getElementById('lvCol'),
|
nameCol: document.getElementById("nameCol"),
|
||||||
hpmaxCol: document.getElementById('hpmaxCol'),
|
lvCol: document.getElementById("lvCol"),
|
||||||
hpCol: document.getElementById('hpCol'),
|
hpmaxCol: document.getElementById("hpmaxCol"),
|
||||||
manaCol: document.getElementById('manaCol'),
|
hpCol: document.getElementById("hpCol"),
|
||||||
atkCol: document.getElementById('atkCol'),
|
manaCol: document.getElementById("manaCol"),
|
||||||
defCol: document.getElementById('defCol'),
|
atkCol: document.getElementById("atkCol"),
|
||||||
mdefCol: document.getElementById('mdefCol'),
|
defCol: document.getElementById("defCol"),
|
||||||
moneyCol: document.getElementById('moneyCol'),
|
mdefCol: document.getElementById("mdefCol"),
|
||||||
expCol: document.getElementById('expCol'),
|
moneyCol: document.getElementById("moneyCol"),
|
||||||
upCol: document.getElementById('upCol'),
|
expCol: document.getElementById("expCol"),
|
||||||
keyCol: document.getElementById('keyCol'),
|
upCol: document.getElementById("upCol"),
|
||||||
pzfCol: document.getElementById('pzfCol'),
|
keyCol: document.getElementById("keyCol"),
|
||||||
debuffCol: document.getElementById('debuffCol'),
|
pzfCol: document.getElementById("pzfCol"),
|
||||||
skillCol: document.getElementById('skillCol'),
|
debuffCol: document.getElementById("debuffCol"),
|
||||||
hard: document.getElementById('hard'),
|
skillCol: document.getElementById("skillCol"),
|
||||||
statusCanvas: document.getElementById('statusCanvas'),
|
hard: document.getElementById("hard"),
|
||||||
statusCanvasCtx: document
|
statusCanvas: document.getElementById("statusCanvas"),
|
||||||
.getElementById('statusCanvas')
|
statusCanvasCtx: document.getElementById("statusCanvas").getContext("2d"),
|
||||||
.getContext('2d'),
|
inputDiv: document.getElementById("inputDiv"),
|
||||||
inputDiv: document.getElementById('inputDiv'),
|
inputMessage: document.getElementById("inputMessage"),
|
||||||
inputMessage: document.getElementById('inputMessage'),
|
inputBox: document.getElementById("inputBox"),
|
||||||
inputBox: document.getElementById('inputBox'),
|
inputYes: document.getElementById("inputYes"),
|
||||||
inputYes: document.getElementById('inputYes'),
|
inputNo: document.getElementById("inputNo"),
|
||||||
inputNo: document.getElementById('inputNo'),
|
next: document.getElementById("next"),
|
||||||
next: document.getElementById('next')
|
|
||||||
};
|
};
|
||||||
this.mode = 'play';
|
this.mode = "play";
|
||||||
this.loadList = [
|
this.loadList = [
|
||||||
'loader',
|
"loader",
|
||||||
'control',
|
"control",
|
||||||
'utils',
|
"utils",
|
||||||
'items',
|
"items",
|
||||||
'icons',
|
"icons",
|
||||||
'maps',
|
"maps",
|
||||||
'enemys',
|
"enemys",
|
||||||
'events',
|
"events",
|
||||||
'actions',
|
"actions",
|
||||||
'data',
|
"data",
|
||||||
'ui',
|
"ui",
|
||||||
'extensions',
|
"extensions",
|
||||||
'core'
|
"core",
|
||||||
];
|
];
|
||||||
this.pureData = [
|
this.pureData = [
|
||||||
'data',
|
"data",
|
||||||
'enemys',
|
"enemys",
|
||||||
'icons',
|
"icons",
|
||||||
'maps',
|
"maps",
|
||||||
'items',
|
"items",
|
||||||
'functions',
|
"functions",
|
||||||
'events',
|
"events",
|
||||||
'plugins'
|
"plugins",
|
||||||
];
|
];
|
||||||
this.materials = [
|
this.materials = [
|
||||||
'animates',
|
"animates",
|
||||||
'enemys',
|
"enemys",
|
||||||
'items',
|
"items",
|
||||||
'npcs',
|
"npcs",
|
||||||
'terrains',
|
"terrains",
|
||||||
'enemy48',
|
"enemy48",
|
||||||
'npc48',
|
"npc48",
|
||||||
'icons'
|
"icons",
|
||||||
];
|
];
|
||||||
|
|
||||||
this.statusBar = {
|
this.statusBar = {
|
||||||
image: {
|
image: {
|
||||||
floor: document.getElementById('img-floor'),
|
floor: document.getElementById("img-floor"),
|
||||||
name: document.getElementById('img-name'),
|
name: document.getElementById("img-name"),
|
||||||
lv: document.getElementById('img-lv'),
|
lv: document.getElementById("img-lv"),
|
||||||
hpmax: document.getElementById('img-hpmax'),
|
hpmax: document.getElementById("img-hpmax"),
|
||||||
hp: document.getElementById('img-hp'),
|
hp: document.getElementById("img-hp"),
|
||||||
mana: document.getElementById('img-mana'),
|
mana: document.getElementById("img-mana"),
|
||||||
atk: document.getElementById('img-atk'),
|
atk: document.getElementById("img-atk"),
|
||||||
def: document.getElementById('img-def'),
|
def: document.getElementById("img-def"),
|
||||||
mdef: document.getElementById('img-mdef'),
|
mdef: document.getElementById("img-mdef"),
|
||||||
money: document.getElementById('img-money'),
|
money: document.getElementById("img-money"),
|
||||||
exp: document.getElementById('img-exp'),
|
exp: document.getElementById("img-exp"),
|
||||||
up: document.getElementById('img-up'),
|
up: document.getElementById("img-up"),
|
||||||
skill: document.getElementById('img-skill'),
|
skill: document.getElementById("img-skill"),
|
||||||
book: document.getElementById('img-book'),
|
book: document.getElementById("img-book"),
|
||||||
fly: document.getElementById('img-fly'),
|
fly: document.getElementById("img-fly"),
|
||||||
toolbox: document.getElementById('img-toolbox'),
|
toolbox: document.getElementById("img-toolbox"),
|
||||||
keyboard: document.getElementById('img-keyboard'),
|
keyboard: document.getElementById("img-keyboard"),
|
||||||
shop: document.getElementById('img-shop'),
|
shop: document.getElementById("img-shop"),
|
||||||
save: document.getElementById('img-save'),
|
save: document.getElementById("img-save"),
|
||||||
load: document.getElementById('img-load'),
|
load: document.getElementById("img-load"),
|
||||||
settings: document.getElementById('img-settings'),
|
settings: document.getElementById("img-settings"),
|
||||||
btn1: document.getElementById('img-btn1'),
|
btn1: document.getElementById("img-btn1"),
|
||||||
btn2: document.getElementById('img-btn2'),
|
btn2: document.getElementById("img-btn2"),
|
||||||
btn3: document.getElementById('img-btn3'),
|
btn3: document.getElementById("img-btn3"),
|
||||||
btn4: document.getElementById('img-btn4'),
|
btn4: document.getElementById("img-btn4"),
|
||||||
btn5: document.getElementById('img-btn5'),
|
btn5: document.getElementById("img-btn5"),
|
||||||
btn6: document.getElementById('img-btn6'),
|
btn6: document.getElementById("img-btn6"),
|
||||||
btn7: document.getElementById('img-btn7'),
|
btn7: document.getElementById("img-btn7"),
|
||||||
btn8: document.getElementById('img-btn8')
|
btn8: document.getElementById("img-btn8"),
|
||||||
},
|
},
|
||||||
icons: {
|
icons: {
|
||||||
floor: 0,
|
floor: 0,
|
||||||
@ -187,48 +186,48 @@ function main() {
|
|||||||
btn5: 31,
|
btn5: 31,
|
||||||
btn6: 32,
|
btn6: 32,
|
||||||
btn7: 33,
|
btn7: 33,
|
||||||
btn8: 34
|
btn8: 34,
|
||||||
},
|
},
|
||||||
floor: document.getElementById('floor'),
|
floor: document.getElementById("floor"),
|
||||||
name: document.getElementById('name'),
|
name: document.getElementById("name"),
|
||||||
lv: document.getElementById('lv'),
|
lv: document.getElementById("lv"),
|
||||||
hpmax: document.getElementById('hpmax'),
|
hpmax: document.getElementById("hpmax"),
|
||||||
hp: document.getElementById('hp'),
|
hp: document.getElementById("hp"),
|
||||||
mana: document.getElementById('mana'),
|
mana: document.getElementById("mana"),
|
||||||
atk: document.getElementById('atk'),
|
atk: document.getElementById("atk"),
|
||||||
def: document.getElementById('def'),
|
def: document.getElementById("def"),
|
||||||
mdef: document.getElementById('mdef'),
|
mdef: document.getElementById("mdef"),
|
||||||
money: document.getElementById('money'),
|
money: document.getElementById("money"),
|
||||||
exp: document.getElementById('exp'),
|
exp: document.getElementById("exp"),
|
||||||
up: document.getElementById('up'),
|
up: document.getElementById("up"),
|
||||||
skill: document.getElementById('skill'),
|
skill: document.getElementById("skill"),
|
||||||
yellowKey: document.getElementById('yellowKey'),
|
yellowKey: document.getElementById("yellowKey"),
|
||||||
blueKey: document.getElementById('blueKey'),
|
blueKey: document.getElementById("blueKey"),
|
||||||
redKey: document.getElementById('redKey'),
|
redKey: document.getElementById("redKey"),
|
||||||
greenKey: document.getElementById('greenKey'),
|
greenKey: document.getElementById("greenKey"),
|
||||||
poison: document.getElementById('poison'),
|
poison: document.getElementById("poison"),
|
||||||
weak: document.getElementById('weak'),
|
weak: document.getElementById("weak"),
|
||||||
curse: document.getElementById('curse'),
|
curse: document.getElementById("curse"),
|
||||||
pickaxe: document.getElementById('pickaxe'),
|
pickaxe: document.getElementById("pickaxe"),
|
||||||
bomb: document.getElementById('bomb'),
|
bomb: document.getElementById("bomb"),
|
||||||
fly: document.getElementById('fly'),
|
fly: document.getElementById("fly"),
|
||||||
hard: document.getElementById('hard')
|
hard: document.getElementById("hard"),
|
||||||
};
|
};
|
||||||
this.floors = {};
|
this.floors = {};
|
||||||
this.canvas = {};
|
this.canvas = {};
|
||||||
|
|
||||||
this.__VERSION__ = '2.10.3';
|
this.__VERSION__ = "2.10.3";
|
||||||
this.__VERSION_CODE__ = 512;
|
this.__VERSION_CODE__ = 512;
|
||||||
}
|
}
|
||||||
|
|
||||||
main.prototype.init = function (mode, callback) {
|
main.prototype.init = function (mode, callback) {
|
||||||
for (var i = 0; i < main.dom.gameCanvas.length; i++) {
|
for (var i = 0; i < main.dom.gameCanvas.length; i++) {
|
||||||
main.canvas[main.dom.gameCanvas[i].id] =
|
main.canvas[main.dom.gameCanvas[i].id] =
|
||||||
main.dom.gameCanvas[i].getContext('2d');
|
main.dom.gameCanvas[i].getContext("2d");
|
||||||
}
|
}
|
||||||
main.mode = mode;
|
main.mode = mode;
|
||||||
|
|
||||||
main.loadJs('project', main.pureData, function () {
|
main.loadJs("project", main.pureData, function () {
|
||||||
var mainData = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main;
|
var mainData = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main;
|
||||||
for (var ii in mainData) main[ii] = mainData[ii];
|
for (var ii in mainData) main[ii] = mainData[ii];
|
||||||
|
|
||||||
@ -236,43 +235,43 @@ main.prototype.init = function (mode, callback) {
|
|||||||
main.dom.startButtonGroup.style = main.styles.startButtonsStyle;
|
main.dom.startButtonGroup.style = main.styles.startButtonsStyle;
|
||||||
main.levelChoose = main.levelChoose || [];
|
main.levelChoose = main.levelChoose || [];
|
||||||
main.levelChoose.forEach(function (value) {
|
main.levelChoose.forEach(function (value) {
|
||||||
var span = document.createElement('span');
|
var span = document.createElement("span");
|
||||||
span.setAttribute('class', 'startButton');
|
span.setAttribute("class", "startButton");
|
||||||
span.innerText = value.title || '';
|
span.innerText = value.title || "";
|
||||||
(function (span, str_) {
|
(function (span, str_) {
|
||||||
span.onclick = function () {
|
span.onclick = function () {
|
||||||
core.events.startGame(str_);
|
core.events.startGame(str_);
|
||||||
};
|
};
|
||||||
})(span, value.name || '');
|
})(span, value.name || "");
|
||||||
main.dom.levelChooseButtons.appendChild(span);
|
main.dom.levelChooseButtons.appendChild(span);
|
||||||
});
|
});
|
||||||
main.createOnChoiceAnimation();
|
main.createOnChoiceAnimation();
|
||||||
main.importFonts(main.fonts);
|
main.importFonts(main.fonts);
|
||||||
|
|
||||||
main.loadJs('libs', main.loadList, function () {
|
main.loadJs("libs", main.loadList, function () {
|
||||||
main.core = core;
|
main.core = core;
|
||||||
|
|
||||||
for (i = 0; i < main.loadList.length; i++) {
|
for (i = 0; i < main.loadList.length; i++) {
|
||||||
var name = main.loadList[i];
|
var name = main.loadList[i];
|
||||||
if (name === 'core') continue;
|
if (name === "core") continue;
|
||||||
main.core[name] = new window[name]();
|
main.core[name] = new window[name]();
|
||||||
}
|
}
|
||||||
|
|
||||||
main.loadFloors(function () {
|
main.loadFloors(function () {
|
||||||
var coreData = {};
|
var coreData = {};
|
||||||
[
|
[
|
||||||
'dom',
|
"dom",
|
||||||
'statusBar',
|
"statusBar",
|
||||||
'canvas',
|
"canvas",
|
||||||
'images',
|
"images",
|
||||||
'tilesets',
|
"tilesets",
|
||||||
'materials',
|
"materials",
|
||||||
'animates',
|
"animates",
|
||||||
'bgms',
|
"bgms",
|
||||||
'sounds',
|
"sounds",
|
||||||
'floorIds',
|
"floorIds",
|
||||||
'floors',
|
"floors",
|
||||||
'floorPartitions'
|
"floorPartitions",
|
||||||
].forEach(function (t) {
|
].forEach(function (t) {
|
||||||
coreData[t] = main[t];
|
coreData[t] = main[t];
|
||||||
});
|
});
|
||||||
@ -280,28 +279,19 @@ main.prototype.init = function (mode, callback) {
|
|||||||
main.core.resize();
|
main.core.resize();
|
||||||
// 自动放缩最大化
|
// 自动放缩最大化
|
||||||
if (!main.replayChecking) {
|
if (!main.replayChecking) {
|
||||||
if (core.getLocalStorage('autoScale') == null) {
|
if (core.getLocalStorage("autoScale") == null) {
|
||||||
core.setLocalStorage('autoScale', true);
|
core.setLocalStorage("autoScale", true);
|
||||||
}
|
}
|
||||||
if (
|
if (core.getLocalStorage("autoScale") && !core.domStyle.isVertical) {
|
||||||
core.getLocalStorage('autoScale') &&
|
|
||||||
!core.domStyle.isVertical
|
|
||||||
) {
|
|
||||||
try {
|
try {
|
||||||
if (main.core) {
|
if (main.core) {
|
||||||
var index =
|
var index = main.core.domStyle.availableScale.indexOf(
|
||||||
main.core.domStyle.availableScale.indexOf(
|
|
||||||
core.domStyle.scale
|
core.domStyle.scale
|
||||||
);
|
);
|
||||||
main.core.control.setDisplayScale(
|
main.core.control.setDisplayScale(
|
||||||
main.core.domStyle.availableScale.length -
|
main.core.domStyle.availableScale.length - 1 - index
|
||||||
1 -
|
|
||||||
index
|
|
||||||
);
|
);
|
||||||
if (
|
if (!main.core.isPlaying() && main.core.flags.enableHDCanvas) {
|
||||||
!main.core.isPlaying() &&
|
|
||||||
main.core.flags.enableHDCanvas
|
|
||||||
) {
|
|
||||||
main.core.domStyle.ratio = Math.max(
|
main.core.domStyle.ratio = Math.max(
|
||||||
window.devicePixelRatio || 1,
|
window.devicePixelRatio || 1,
|
||||||
main.core.domStyle.scale
|
main.core.domStyle.scale
|
||||||
@ -309,9 +299,7 @@ main.prototype.init = function (mode, callback) {
|
|||||||
main.core.resize();
|
main.core.resize();
|
||||||
}
|
}
|
||||||
requestAnimationFrame(function () {
|
requestAnimationFrame(function () {
|
||||||
var style = getComputedStyle(
|
var style = getComputedStyle(main.dom.gameGroup);
|
||||||
main.dom.gameGroup
|
|
||||||
);
|
|
||||||
var height = parseFloat(style.height);
|
var height = parseFloat(style.height);
|
||||||
if (height > window.innerHeight * 0.95) {
|
if (height > window.innerHeight * 0.95) {
|
||||||
main.core.control.setDisplayScale(-1);
|
main.core.control.setDisplayScale(-1);
|
||||||
@ -341,7 +329,7 @@ main.prototype.init = function (mode, callback) {
|
|||||||
////// 动态加载所有核心JS文件 //////
|
////// 动态加载所有核心JS文件 //////
|
||||||
main.prototype.loadJs = function (dir, loadList, callback) {
|
main.prototype.loadJs = function (dir, loadList, callback) {
|
||||||
// 加载js
|
// 加载js
|
||||||
main.setMainTipsText('正在加载核心js文件...');
|
main.setMainTipsText("正在加载核心js文件...");
|
||||||
|
|
||||||
if (this.useCompress) {
|
if (this.useCompress) {
|
||||||
main.loadMod(dir, dir, function () {
|
main.loadMod(dir, dir, function () {
|
||||||
@ -351,7 +339,7 @@ main.prototype.loadJs = function (dir, loadList, callback) {
|
|||||||
var instanceNum = 0;
|
var instanceNum = 0;
|
||||||
for (var i = 0; i < loadList.length; i++) {
|
for (var i = 0; i < loadList.length; i++) {
|
||||||
main.loadMod(dir, loadList[i], function (modName) {
|
main.loadMod(dir, loadList[i], function (modName) {
|
||||||
main.setMainTipsText(modName + '.js 加载完毕');
|
main.setMainTipsText(modName + ".js 加载完毕");
|
||||||
instanceNum++;
|
instanceNum++;
|
||||||
if (instanceNum === loadList.length) {
|
if (instanceNum === loadList.length) {
|
||||||
callback();
|
callback();
|
||||||
@ -363,14 +351,14 @@ main.prototype.loadJs = function (dir, loadList, callback) {
|
|||||||
|
|
||||||
////// 加载某一个JS文件 //////
|
////// 加载某一个JS文件 //////
|
||||||
main.prototype.loadMod = function (dir, modName, callback, onerror) {
|
main.prototype.loadMod = function (dir, modName, callback, onerror) {
|
||||||
var script = document.createElement('script');
|
var script = document.createElement("script");
|
||||||
var name = modName;
|
var name = modName;
|
||||||
script.src =
|
script.src =
|
||||||
dir +
|
dir +
|
||||||
'/' +
|
"/" +
|
||||||
modName +
|
modName +
|
||||||
(this.useCompress ? '.min' : '') +
|
(this.useCompress ? ".min" : "") +
|
||||||
'.js?v=' +
|
".js?v=" +
|
||||||
this.version;
|
this.version;
|
||||||
script.onload = function () {
|
script.onload = function () {
|
||||||
callback(name);
|
callback(name);
|
||||||
@ -381,28 +369,25 @@ main.prototype.loadMod = function (dir, modName, callback, onerror) {
|
|||||||
////// 动态加载所有楼层(剧本) //////
|
////// 动态加载所有楼层(剧本) //////
|
||||||
main.prototype.loadFloors = function (callback) {
|
main.prototype.loadFloors = function (callback) {
|
||||||
// 加载js
|
// 加载js
|
||||||
main.setMainTipsText('正在加载楼层文件...');
|
main.setMainTipsText("正在加载楼层文件...");
|
||||||
if (this.useCompress) {
|
if (this.useCompress) {
|
||||||
// 读取压缩文件
|
// 读取压缩文件
|
||||||
var script = document.createElement('script');
|
var script = document.createElement("script");
|
||||||
script.src = 'project/floors.min.js?v=' + this.version;
|
script.src = "project/floors.min.js?v=" + this.version;
|
||||||
main.dom.body.appendChild(script);
|
main.dom.body.appendChild(script);
|
||||||
script.onload = function () {
|
script.onload = function () {
|
||||||
main.dom.mainTips.style.display = 'none';
|
main.dom.mainTips.style.display = "none";
|
||||||
callback();
|
callback();
|
||||||
};
|
};
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 高层塔优化
|
// 高层塔优化
|
||||||
var script = document.createElement('script');
|
var script = document.createElement("script");
|
||||||
script.src =
|
script.src =
|
||||||
'__all_floors__.js?v=' +
|
"__all_floors__.js?v=" + this.version + "&id=" + main.floorIds.join(",");
|
||||||
this.version +
|
|
||||||
'&id=' +
|
|
||||||
main.floorIds.join(',');
|
|
||||||
script.onload = function () {
|
script.onload = function () {
|
||||||
main.dom.mainTips.style.display = 'none';
|
main.dom.mainTips.style.display = "none";
|
||||||
main.supportBunch = true;
|
main.supportBunch = true;
|
||||||
callback();
|
callback();
|
||||||
};
|
};
|
||||||
@ -413,14 +398,9 @@ main.prototype.loadFloors = function (callback) {
|
|||||||
// console.clear();
|
// console.clear();
|
||||||
for (var i = 0; i < main.floorIds.length; i++) {
|
for (var i = 0; i < main.floorIds.length; i++) {
|
||||||
main.loadFloor(main.floorIds[i], function (modName) {
|
main.loadFloor(main.floorIds[i], function (modName) {
|
||||||
main.setMainTipsText(
|
main.setMainTipsText("楼层 " + modName + ".js 加载完毕");
|
||||||
'楼层 ' + modName + '.js 加载完毕'
|
if (Object.keys(main.floors).length === main.floorIds.length) {
|
||||||
);
|
main.dom.mainTips.style.display = "none";
|
||||||
if (
|
|
||||||
Object.keys(main.floors).length ===
|
|
||||||
main.floorIds.length
|
|
||||||
) {
|
|
||||||
main.dom.mainTips.style.display = 'none';
|
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -431,8 +411,8 @@ main.prototype.loadFloors = function (callback) {
|
|||||||
|
|
||||||
////// 加载某一个楼层 //////
|
////// 加载某一个楼层 //////
|
||||||
main.prototype.loadFloor = function (floorId, callback) {
|
main.prototype.loadFloor = function (floorId, callback) {
|
||||||
var script = document.createElement('script');
|
var script = document.createElement("script");
|
||||||
script.src = 'project/floors/' + floorId + '.js?v=' + this.version;
|
script.src = "project/floors/" + floorId + ".js?v=" + this.version;
|
||||||
main.dom.body.appendChild(script);
|
main.dom.body.appendChild(script);
|
||||||
script.onload = function () {
|
script.onload = function () {
|
||||||
callback(floorId);
|
callback(floorId);
|
||||||
@ -457,30 +437,29 @@ main.prototype.log = function (e, error) {
|
|||||||
|
|
||||||
main.prototype.createOnChoiceAnimation = function () {
|
main.prototype.createOnChoiceAnimation = function () {
|
||||||
var borderColor =
|
var borderColor =
|
||||||
main.dom.startButtonGroup.style.caretColor || 'rgb(255, 215, 0)';
|
main.dom.startButtonGroup.style.caretColor || "rgb(255, 215, 0)";
|
||||||
// get rgb value
|
// get rgb value
|
||||||
var rgb =
|
var rgb = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*\d+\s*)?\)$/.exec(
|
||||||
/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*\d+\s*)?\)$/.exec(
|
|
||||||
borderColor
|
borderColor
|
||||||
);
|
);
|
||||||
if (rgb != null) {
|
if (rgb != null) {
|
||||||
var value = rgb[1] + ', ' + rgb[2] + ', ' + rgb[3];
|
var value = rgb[1] + ", " + rgb[2] + ", " + rgb[3];
|
||||||
var style = document.createElement('style');
|
var style = document.createElement("style");
|
||||||
style.type = 'text/css';
|
style.type = "text/css";
|
||||||
var keyFrames =
|
var keyFrames =
|
||||||
'onChoice { ' +
|
"onChoice { " +
|
||||||
'0% { border-color: rgba(' +
|
"0% { border-color: rgba(" +
|
||||||
value +
|
value +
|
||||||
', 0.9); } ' +
|
", 0.9); } " +
|
||||||
'50% { border-color: rgba(' +
|
"50% { border-color: rgba(" +
|
||||||
value +
|
value +
|
||||||
', 0.3); } ' +
|
", 0.3); } " +
|
||||||
'100% { border-color: rgba(' +
|
"100% { border-color: rgba(" +
|
||||||
value +
|
value +
|
||||||
', 0.9); } ' +
|
", 0.9); } " +
|
||||||
'}';
|
"}";
|
||||||
style.innerHTML =
|
style.innerHTML =
|
||||||
'@-webkit-keyframes ' + keyFrames + ' @keyframes ' + keyFrames;
|
"@-webkit-keyframes " + keyFrames + " @keyframes " + keyFrames;
|
||||||
document.body.appendChild(style);
|
document.body.appendChild(style);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -490,9 +469,9 @@ main.prototype.selectButton = function (index) {
|
|||||||
var select = function (children) {
|
var select = function (children) {
|
||||||
index = (index + children.length) % children.length;
|
index = (index + children.length) % children.length;
|
||||||
for (var i = 0; i < children.length; ++i) {
|
for (var i = 0; i < children.length; ++i) {
|
||||||
children[i].classList.remove('onChoiceAnimate');
|
children[i].classList.remove("onChoiceAnimate");
|
||||||
}
|
}
|
||||||
children[index].classList.add('onChoiceAnimate');
|
children[index].classList.add("onChoiceAnimate");
|
||||||
if (main.selectedButton == index) {
|
if (main.selectedButton == index) {
|
||||||
children[index].click();
|
children[index].click();
|
||||||
} else {
|
} else {
|
||||||
@ -500,11 +479,11 @@ main.prototype.selectButton = function (index) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
if (core.dom.startPanel.style.display != 'block') return;
|
if (core.dom.startPanel.style.display != "block") return;
|
||||||
|
|
||||||
if (main.dom.startButtons.style.display == 'block') {
|
if (main.dom.startButtons.style.display == "block") {
|
||||||
select(main.dom.startButtons.children);
|
select(main.dom.startButtons.children);
|
||||||
} else if (main.dom.levelChooseButtons.style.display == 'block') {
|
} else if (main.dom.levelChooseButtons.style.display == "block") {
|
||||||
select(main.dom.levelChooseButtons.children);
|
select(main.dom.levelChooseButtons.children);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -512,9 +491,9 @@ 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';
|
style.type = "text/css";
|
||||||
var html = '';
|
var html = "";
|
||||||
fonts.forEach(function (font) {
|
fonts.forEach(function (font) {
|
||||||
html +=
|
html +=
|
||||||
'@font-face { font-family: "' +
|
'@font-face { font-family: "' +
|
||||||
@ -541,11 +520,8 @@ main.prototype.listen = function () {
|
|||||||
main.dom.body.onkeydown = function (e) {
|
main.dom.body.onkeydown = function (e) {
|
||||||
if (main.editorOpened) return;
|
if (main.editorOpened) return;
|
||||||
try {
|
try {
|
||||||
if (main.dom.inputDiv.style.display == 'block') return;
|
if (main.dom.inputDiv.style.display == "block") return;
|
||||||
if (
|
if (main.core && (main.core.isPlaying() || main.core.status.lockControl))
|
||||||
main.core &&
|
|
||||||
(main.core.isPlaying() || main.core.status.lockControl)
|
|
||||||
)
|
|
||||||
main.core.onkeyDown(e);
|
main.core.onkeyDown(e);
|
||||||
} catch (ee) {
|
} catch (ee) {
|
||||||
console.error(ee);
|
console.error(ee);
|
||||||
@ -557,9 +533,9 @@ main.prototype.listen = function () {
|
|||||||
if (main.editorOpened) return;
|
if (main.editorOpened) return;
|
||||||
try {
|
try {
|
||||||
if (
|
if (
|
||||||
main.dom.startPanel.style.display == 'block' &&
|
main.dom.startPanel.style.display == "block" &&
|
||||||
(main.dom.startButtons.style.display == 'block' ||
|
(main.dom.startButtons.style.display == "block" ||
|
||||||
main.dom.levelChooseButtons.style.display == 'block')
|
main.dom.levelChooseButtons.style.display == "block")
|
||||||
) {
|
) {
|
||||||
if (e.keyCode == 38 || e.keyCode == 33)
|
if (e.keyCode == 38 || e.keyCode == 33)
|
||||||
// up/pgup
|
// up/pgup
|
||||||
@ -572,7 +548,7 @@ main.prototype.listen = function () {
|
|||||||
main.selectButton(main.selectedButton);
|
main.selectButton(main.selectedButton);
|
||||||
else if (
|
else if (
|
||||||
e.keyCode == 27 &&
|
e.keyCode == 27 &&
|
||||||
main.dom.levelChooseButtons.style.display == 'block'
|
main.dom.levelChooseButtons.style.display == "block"
|
||||||
) {
|
) {
|
||||||
// ESC
|
// ESC
|
||||||
main.core.showStartAnimate(true);
|
main.core.showStartAnimate(true);
|
||||||
@ -580,7 +556,7 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (main.dom.inputDiv.style.display == 'block') {
|
if (main.dom.inputDiv.style.display == "block") {
|
||||||
if (e.keyCode == 13) {
|
if (e.keyCode == 13) {
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
main.dom.inputYes.click();
|
main.dom.inputYes.click();
|
||||||
@ -604,15 +580,10 @@ main.prototype.listen = function () {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
[main.dom.startButtons, main.dom.levelChooseButtons].forEach(function (
|
[main.dom.startButtons, main.dom.levelChooseButtons].forEach(function (dom) {
|
||||||
dom
|
|
||||||
) {
|
|
||||||
dom.onmousemove = function (e) {
|
dom.onmousemove = function (e) {
|
||||||
for (var i = 0; i < dom.children.length; ++i) {
|
for (var i = 0; i < dom.children.length; ++i) {
|
||||||
if (
|
if (dom.children[i] == e.target && i != (main.selectedButton || 0)) {
|
||||||
dom.children[i] == e.target &&
|
|
||||||
i != (main.selectedButton || 0)
|
|
||||||
) {
|
|
||||||
main.selectButton(i);
|
main.selectButton(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -765,7 +736,7 @@ main.prototype.listen = function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (main.core.isPlaying()) {
|
if (main.core.isPlaying()) {
|
||||||
main.core.openToolbox(core.status.event.id != 'equipbox');
|
main.core.openToolbox(core.status.event.id != "equipbox");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -871,7 +842,7 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
main.core.onkeyUp({
|
main.core.onkeyUp({
|
||||||
keyCode: 49,
|
keyCode: 49,
|
||||||
altKey: core.getLocalStorage('altKey')
|
altKey: core.getLocalStorage("altKey"),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -879,7 +850,7 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
main.core.onkeyUp({
|
main.core.onkeyUp({
|
||||||
keyCode: 50,
|
keyCode: 50,
|
||||||
altKey: core.getLocalStorage('altKey')
|
altKey: core.getLocalStorage("altKey"),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -887,7 +858,7 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
main.core.onkeyUp({
|
main.core.onkeyUp({
|
||||||
keyCode: 51,
|
keyCode: 51,
|
||||||
altKey: core.getLocalStorage('altKey')
|
altKey: core.getLocalStorage("altKey"),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -895,7 +866,7 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
main.core.onkeyUp({
|
main.core.onkeyUp({
|
||||||
keyCode: 52,
|
keyCode: 52,
|
||||||
altKey: core.getLocalStorage('altKey')
|
altKey: core.getLocalStorage("altKey"),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -903,7 +874,7 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
main.core.onkeyUp({
|
main.core.onkeyUp({
|
||||||
keyCode: 53,
|
keyCode: 53,
|
||||||
altKey: core.getLocalStorage('altKey')
|
altKey: core.getLocalStorage("altKey"),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -911,7 +882,7 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
main.core.onkeyUp({
|
main.core.onkeyUp({
|
||||||
keyCode: 54,
|
keyCode: 54,
|
||||||
altKey: core.getLocalStorage('altKey')
|
altKey: core.getLocalStorage("altKey"),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -919,32 +890,32 @@ main.prototype.listen = function () {
|
|||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
main.core.onkeyUp({
|
main.core.onkeyUp({
|
||||||
keyCode: 55,
|
keyCode: 55,
|
||||||
altKey: core.getLocalStorage('altKey')
|
altKey: core.getLocalStorage("altKey"),
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
main.statusBar.image.btn8.onclick = function (e) {
|
main.statusBar.image.btn8.onclick = function (e) {
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
if (core.getLocalStorage('altKey')) {
|
if (core.getLocalStorage("altKey")) {
|
||||||
core.removeLocalStorage('altKey');
|
core.removeLocalStorage("altKey");
|
||||||
core.drawTip('Alt模式已关闭。');
|
core.drawTip("Alt模式已关闭。");
|
||||||
main.statusBar.image.btn8.style.filter = '';
|
main.statusBar.image.btn8.style.filter = "";
|
||||||
} else {
|
} else {
|
||||||
core.setLocalStorage('altKey', true);
|
core.setLocalStorage("altKey", true);
|
||||||
core.drawTip('Alt模式已开启;此模式下1~7按钮视为Alt+1~7。');
|
core.drawTip("Alt模式已开启;此模式下1~7按钮视为Alt+1~7。");
|
||||||
main.statusBar.image.btn8.style.filter = 'sepia(1) contrast(1.5)';
|
main.statusBar.image.btn8.style.filter = "sepia(1) contrast(1.5)";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
////// 点击“开始游戏”时 //////
|
////// 点击“开始游戏”时 //////
|
||||||
main.dom.playGame.onclick = function () {
|
main.dom.playGame.onclick = function () {
|
||||||
main.dom.startButtons.style.display = 'none';
|
main.dom.startButtons.style.display = "none";
|
||||||
main.core.control.checkBgm();
|
main.core.control.checkBgm();
|
||||||
|
|
||||||
if (main.levelChoose.length == 0) {
|
if (main.levelChoose.length == 0) {
|
||||||
core.events.startGame('');
|
core.events.startGame("");
|
||||||
} else {
|
} else {
|
||||||
main.dom.levelChooseButtons.style.display = 'block';
|
main.dom.levelChooseButtons.style.display = "block";
|
||||||
main.selectedButton = null;
|
main.selectedButton = null;
|
||||||
main.selectButton(0);
|
main.selectButton(0);
|
||||||
}
|
}
|
||||||
@ -979,14 +950,14 @@ main.prototype.listen = function () {
|
|||||||
};
|
};
|
||||||
|
|
||||||
main.dom.inputYes.onclick = function () {
|
main.dom.inputYes.onclick = function () {
|
||||||
main.dom.inputDiv.style.display = 'none';
|
main.dom.inputDiv.style.display = "none";
|
||||||
var func = core.platform.successCallback;
|
var func = core.platform.successCallback;
|
||||||
core.platform.successCallback = core.platform.errorCallback = null;
|
core.platform.successCallback = core.platform.errorCallback = null;
|
||||||
if (func) func(main.dom.inputBox.value);
|
if (func) func(main.dom.inputBox.value);
|
||||||
};
|
};
|
||||||
|
|
||||||
main.dom.inputNo.onclick = function () {
|
main.dom.inputNo.onclick = function () {
|
||||||
main.dom.inputDiv.style.display = 'none';
|
main.dom.inputDiv.style.display = "none";
|
||||||
var func = core.platform.errorCallback;
|
var func = core.platform.errorCallback;
|
||||||
core.platform.successCallback = core.platform.errorCallback = null;
|
core.platform.successCallback = core.platform.errorCallback = null;
|
||||||
if (func) func(null);
|
if (func) func(null);
|
||||||
|
@ -2569,6 +2569,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
core.dom.playGame.style.fontSize = font + "px";
|
core.dom.playGame.style.fontSize = font + "px";
|
||||||
core.dom.loadGame.style.fontSize = font + "px";
|
core.dom.loadGame.style.fontSize = font + "px";
|
||||||
core.dom.CGMode.style.fontSize = font + "px";
|
core.dom.CGMode.style.fontSize = font + "px";
|
||||||
|
core.dom.musicMode.style.fontSize = font + "px";
|
||||||
core.dom.replayGame.style.fontSize = font + "px";
|
core.dom.replayGame.style.fontSize = font + "px";
|
||||||
core.dom.startButtonGroup.style.padding = font * 0.3 + "px 25px";
|
core.dom.startButtonGroup.style.padding = font * 0.3 + "px 25px";
|
||||||
};
|
};
|
||||||
@ -2582,6 +2583,10 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
main.dom.CGUI.style.width = obj.totalWidth + 3 + "px";
|
main.dom.CGUI.style.width = obj.totalWidth + 3 + "px";
|
||||||
main.dom.CGUI.style.height = obj.totalHeight + 3 + "px";
|
main.dom.CGUI.style.height = obj.totalHeight + 3 + "px";
|
||||||
}
|
}
|
||||||
|
if (main.dom.music) {
|
||||||
|
main.dom.music.style.width = obj.totalWidth + 3 + "px";
|
||||||
|
main.dom.music.style.height = obj.totalHeight + 3 + "px";
|
||||||
|
}
|
||||||
if (main.dom.cgText) {
|
if (main.dom.cgText) {
|
||||||
main.dom.cgText.style.width = obj.totalWidth + 3 + "px";
|
main.dom.cgText.style.width = obj.totalWidth + 3 + "px";
|
||||||
main.dom.cgText.style.height = obj.totalHeight + 3 + "px";
|
main.dom.cgText.style.height = obj.totalHeight + 3 + "px";
|
||||||
@ -2764,8 +2769,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
|
|
||||||
if (core.status.automaticRoute == null) core.status.automaticRoute = {};
|
if (core.status.automaticRoute == null) core.status.automaticRoute = {};
|
||||||
core.updateStatusBar();
|
core.updateStatusBar();
|
||||||
if (main.dom.CGUI) core.ui.CG.update();
|
if (main.dom.CGUI && main.dom.CGUI.style.display === "block") core.ui.CG.update();
|
||||||
if (main.dom.cgText) core.ui.cgText.update();
|
if (main.dom.music && main.dom.music.style.display === "block") core.ui.music.update()
|
||||||
|
if (main.dom.cgText && main.dom.cgText.style.display === "block") core.ui.cgText.update();
|
||||||
};
|
};
|
||||||
|
|
||||||
class StatusBar {
|
class StatusBar {
|
||||||
@ -11752,176 +11758,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
function drawImage(
|
|
||||||
name,
|
|
||||||
image,
|
|
||||||
x,
|
|
||||||
y,
|
|
||||||
w,
|
|
||||||
h,
|
|
||||||
x1,
|
|
||||||
y1,
|
|
||||||
w1,
|
|
||||||
h1,
|
|
||||||
angle,
|
|
||||||
reverse
|
|
||||||
) {
|
|
||||||
// 检测文件名以 :x, :y, :o 结尾,表示左右翻转,上下翻转和中心翻转
|
|
||||||
|
|
||||||
image = core.material.images.images[image];
|
|
||||||
|
|
||||||
var scale = {
|
|
||||||
x: [-1, 1],
|
|
||||||
y: [1, -1],
|
|
||||||
o: [-1, -1],
|
|
||||||
};
|
|
||||||
|
|
||||||
// 只能接受2, 4, 8个参数
|
|
||||||
if (x != null && y != null) {
|
|
||||||
if (w == null || h == null) {
|
|
||||||
// 两个参数变成四个参数
|
|
||||||
w = image.width;
|
|
||||||
h = image.height;
|
|
||||||
}
|
|
||||||
if (x1 != null && y1 != null && w1 != null && h1 != null) {
|
|
||||||
if (!reverse && !angle) {
|
|
||||||
name.drawImage(image, x, y, w, h, x1, y1, w1, h1);
|
|
||||||
} else {
|
|
||||||
name.save();
|
|
||||||
name.translate(x1 + w1 / 2, y1 + h1 / 2);
|
|
||||||
if (reverse) name.scale(scale[reverse][0], scale[reverse][1]);
|
|
||||||
if (angle) name.rotate(angle);
|
|
||||||
name.drawImage(image, x, y, w, h, -w1 / 2, -h1 / 2, w1, h1);
|
|
||||||
name.restore();
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!reverse && !angle) {
|
|
||||||
name.drawImage(image, x, y, w, h);
|
|
||||||
} else {
|
|
||||||
name.save();
|
|
||||||
name.translate(x + w / 2, y + h / 2);
|
|
||||||
if (reverse) name.scale(scale[reverse][0], scale[reverse][1]);
|
|
||||||
if (angle) name.rotate(angle);
|
|
||||||
name.drawImage(image, -w / 2, -h / 2, w, h);
|
|
||||||
name.restore();
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function drawWindow(background, ctx, x, y, w, h, direction, px, py) {
|
|
||||||
// 仿RM窗口皮肤 ↓
|
|
||||||
|
|
||||||
drawImage(ctx, background, 0, 0, 128, 128, x + 2, y + 2, w - 4, h - 4);
|
|
||||||
// 绘制边框
|
|
||||||
// 上方
|
|
||||||
drawImage(ctx, background, 128, 0, 16, 16, x, y, 16, 16);
|
|
||||||
for (var dx = 0; dx < w - 64; dx += 32) {
|
|
||||||
drawImage(ctx, background, 144, 0, 32, 16, x + dx + 16, y, 32, 16);
|
|
||||||
drawImage(
|
|
||||||
ctx,
|
|
||||||
background,
|
|
||||||
144,
|
|
||||||
48,
|
|
||||||
32,
|
|
||||||
16,
|
|
||||||
x + dx + 16,
|
|
||||||
y + h - 16,
|
|
||||||
32,
|
|
||||||
16
|
|
||||||
);
|
|
||||||
}
|
|
||||||
drawImage(
|
|
||||||
ctx,
|
|
||||||
background,
|
|
||||||
144,
|
|
||||||
0,
|
|
||||||
w - dx - 32,
|
|
||||||
16,
|
|
||||||
x + dx + 16,
|
|
||||||
y,
|
|
||||||
w - dx - 32,
|
|
||||||
16
|
|
||||||
);
|
|
||||||
drawImage(
|
|
||||||
ctx,
|
|
||||||
background,
|
|
||||||
144,
|
|
||||||
48,
|
|
||||||
w - dx - 32,
|
|
||||||
16,
|
|
||||||
x + dx + 16,
|
|
||||||
y + h - 16,
|
|
||||||
w - dx - 32,
|
|
||||||
16
|
|
||||||
);
|
|
||||||
drawImage(ctx, background, 176, 0, 16, 16, x + w - 16, y, 16, 16);
|
|
||||||
// 左右
|
|
||||||
for (var dy = 0; dy < h - 64; dy += 32) {
|
|
||||||
drawImage(ctx, background, 128, 16, 16, 32, x, y + dy + 16, 16, 32);
|
|
||||||
drawImage(
|
|
||||||
ctx,
|
|
||||||
background,
|
|
||||||
176,
|
|
||||||
16,
|
|
||||||
16,
|
|
||||||
32,
|
|
||||||
x + w - 16,
|
|
||||||
y + dy + 16,
|
|
||||||
16,
|
|
||||||
32
|
|
||||||
);
|
|
||||||
}
|
|
||||||
drawImage(
|
|
||||||
ctx,
|
|
||||||
background,
|
|
||||||
128,
|
|
||||||
16,
|
|
||||||
16,
|
|
||||||
h - dy - 32,
|
|
||||||
x,
|
|
||||||
y + dy + 16,
|
|
||||||
16,
|
|
||||||
h - dy - 32
|
|
||||||
);
|
|
||||||
drawImage(
|
|
||||||
ctx,
|
|
||||||
background,
|
|
||||||
176,
|
|
||||||
16,
|
|
||||||
16,
|
|
||||||
h - dy - 32,
|
|
||||||
x + w - 16,
|
|
||||||
y + dy + 16,
|
|
||||||
16,
|
|
||||||
h - dy - 32
|
|
||||||
);
|
|
||||||
// 下方
|
|
||||||
drawImage(ctx, background, 128, 48, 16, 16, x, y + h - 16, 16, 16);
|
|
||||||
drawImage(
|
|
||||||
ctx,
|
|
||||||
background,
|
|
||||||
176,
|
|
||||||
48,
|
|
||||||
16,
|
|
||||||
16,
|
|
||||||
x + w - 16,
|
|
||||||
y + h - 16,
|
|
||||||
16,
|
|
||||||
16
|
|
||||||
);
|
|
||||||
|
|
||||||
// arrow
|
|
||||||
if (px != null && py != null) {
|
|
||||||
if (direction == "up") {
|
|
||||||
drawImage(ctx, background, 128, 96, 32, 32, px, y + h - 3, 32, 32);
|
|
||||||
} else if (direction == "down") {
|
|
||||||
drawImage(ctx, background, 160, 96, 32, 32, px, y - 29, 32, 32);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 仿RM窗口皮肤 ↑
|
|
||||||
}
|
|
||||||
class CG {
|
class CG {
|
||||||
constructor() {
|
constructor() {
|
||||||
//cg列表
|
//cg列表
|
||||||
@ -11974,16 +11811,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
background() {
|
background() {
|
||||||
//画布大小设置
|
//画布大小设置
|
||||||
if (core.domStyle.isVertical) {
|
if (core.domStyle.isVertical) {
|
||||||
ctx.canvas.width = 1248;
|
CGUI.width = 1248;
|
||||||
ctx.canvas.height = 2028;
|
CGUI.height = 2028;
|
||||||
|
|
||||||
core.setTextAlign(ctx, "center");
|
|
||||||
} else {
|
} else {
|
||||||
ctx.canvas.width = 2028;
|
CGUI.width = 2028;
|
||||||
ctx.canvas.height = 1248;
|
CGUI.height = 1248;
|
||||||
|
|
||||||
core.setTextAlign(ctx, "center");
|
|
||||||
}
|
}
|
||||||
|
core.setTextAlign(ctx, "center");
|
||||||
}
|
}
|
||||||
onclick(px, py) {
|
onclick(px, py) {
|
||||||
//点击
|
//点击
|
||||||
@ -11993,7 +11827,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
this.update();
|
this.update();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
console.log([px, py]);
|
|
||||||
const makeBox = ([x, y], [w, h]) => {
|
const makeBox = ([x, y], [w, h]) => {
|
||||||
return [
|
return [
|
||||||
[x, y],
|
[x, y],
|
||||||
@ -12007,7 +11840,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
return sx <= x && x <= dx && sy <= y && y <= dy;
|
return sx <= x && x <= dx && sy <= y && y <= dy;
|
||||||
};
|
};
|
||||||
const pos = [px, py];
|
const pos = [px, py];
|
||||||
const backbox = makeBox([33, 33], [144, 144]);
|
const backbox = makeBox([45, 45], [120, 80]);
|
||||||
if (inRect(pos, backbox)) {
|
if (inRect(pos, backbox)) {
|
||||||
//离开按钮是一致的,其余的记区分横竖屏
|
//离开按钮是一致的,其余的记区分横竖屏
|
||||||
CGUI.style.display = "none";
|
CGUI.style.display = "none";
|
||||||
@ -12126,55 +11959,37 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
} else if (inRect(pos, imagebox0)) {
|
} else if (inRect(pos, imagebox0)) {
|
||||||
const img = core.material.images.images[this.UIMx[page][0][0]];
|
const img = core.material.images.images[this.UIMx[page][0][0]];
|
||||||
if (img) {
|
if (img) {
|
||||||
ctx.save(); //保存设置
|
|
||||||
ctx.translate(0, 0); //重新定位右上角为基准
|
|
||||||
ctx.drawImage(img, 0, 0, 2028, 1248);
|
ctx.drawImage(img, 0, 0, 2028, 1248);
|
||||||
ctx.restore(); //重置画布设置
|
|
||||||
show = !show;
|
show = !show;
|
||||||
}
|
}
|
||||||
} else if (inRect(pos, imagebox1)) {
|
} else if (inRect(pos, imagebox1)) {
|
||||||
const img = core.material.images.images[this.UIMx[page][0][1]];
|
const img = core.material.images.images[this.UIMx[page][0][1]];
|
||||||
if (img) {
|
if (img) {
|
||||||
ctx.save(); //保存设置
|
|
||||||
ctx.translate(0, 0); //重新定位右上角为基准
|
|
||||||
ctx.drawImage(img, 0, 0, 2028, 1248);
|
ctx.drawImage(img, 0, 0, 2028, 1248);
|
||||||
ctx.restore(); //重置画布设置
|
|
||||||
show = !show;
|
show = !show;
|
||||||
}
|
}
|
||||||
} else if (inRect(pos, imagebox2)) {
|
} else if (inRect(pos, imagebox2)) {
|
||||||
const img = core.material.images.images[this.UIMx[page][0][2]];
|
const img = core.material.images.images[this.UIMx[page][0][2]];
|
||||||
if (img) {
|
if (img) {
|
||||||
ctx.save(); //保存设置
|
|
||||||
ctx.translate(0, 0); //重新定位右上角为基准
|
|
||||||
ctx.drawImage(img, 0, 0, 2028, 1248);
|
ctx.drawImage(img, 0, 0, 2028, 1248);
|
||||||
ctx.restore(); //重置画布设置
|
|
||||||
show = !show;
|
show = !show;
|
||||||
}
|
}
|
||||||
} else if (inRect(pos, imagebox3)) {
|
} else if (inRect(pos, imagebox3)) {
|
||||||
const img = core.material.images.images[this.UIMx[page][1][0]];
|
const img = core.material.images.images[this.UIMx[page][1][0]];
|
||||||
if (img) {
|
if (img) {
|
||||||
ctx.save(); //保存设置
|
|
||||||
ctx.translate(0, 0); //重新定位右上角为基准
|
|
||||||
ctx.drawImage(img, 0, 0, 2028, 1248);
|
ctx.drawImage(img, 0, 0, 2028, 1248);
|
||||||
ctx.restore(); //重置画布设置
|
|
||||||
show = !show;
|
show = !show;
|
||||||
}
|
}
|
||||||
} else if (inRect(pos, imagebox4)) {
|
} else if (inRect(pos, imagebox4)) {
|
||||||
const img = core.material.images.images[this.UIMx[page][1][1]];
|
const img = core.material.images.images[this.UIMx[page][1][1]];
|
||||||
if (img) {
|
if (img) {
|
||||||
ctx.save(); //保存设置
|
|
||||||
ctx.translate(0, 0); //重新定位右上角为基准
|
|
||||||
ctx.drawImage(img, 0, 0, 2028, 1248);
|
ctx.drawImage(img, 0, 0, 2028, 1248);
|
||||||
ctx.restore(); //重置画布设置
|
|
||||||
show = !show;
|
show = !show;
|
||||||
}
|
}
|
||||||
} else if (inRect(pos, imagebox5)) {
|
} else if (inRect(pos, imagebox5)) {
|
||||||
const img = core.material.images.images[this.UIMx[page][1][2]];
|
const img = core.material.images.images[this.UIMx[page][1][2]];
|
||||||
if (img) {
|
if (img) {
|
||||||
ctx.save(); //保存设置
|
|
||||||
ctx.translate(0, 0); //重新定位右上角为基准
|
|
||||||
ctx.drawImage(img, 0, 0, 2028, 1248);
|
ctx.drawImage(img, 0, 0, 2028, 1248);
|
||||||
ctx.restore(); //重置画布设置
|
|
||||||
show = !show;
|
show = !show;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -12183,13 +11998,14 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
drawUI() {
|
drawUI() {
|
||||||
//绘制页面
|
//绘制页面
|
||||||
core.clearMap(CGUI);
|
core.clearMap(CGUI);
|
||||||
if (!core?.material?.images?.images?.["winskin1.png"]) return;
|
const bgVertical = core.material.images.images["bg_2010.png"] //竖屏背景
|
||||||
|
const bg = core.material.images.images["bg_5043.png"] //横屏背景
|
||||||
if (core.domStyle.isVertical) {
|
if (core.domStyle.isVertical) {
|
||||||
//竖屏
|
//竖屏
|
||||||
//core.drawWindowSkin('winskin1.png', ctx, 0, 0, 1248, 2028);
|
|
||||||
core.fillRect(ctx, 0, 0, 1248, 2028, "#000000"); //黑色背景
|
core.fillRect(ctx, 0, 0, 1248, 2028, "#000000"); //黑色背景
|
||||||
ctx.globalAlpha = 0.5; //透明度
|
ctx.globalAlpha = 0.5; //透明度
|
||||||
drawImage(ctx, "bg_2010.png", 0, 0, 1280, 1500, 0, 0, 1248, 2028); //绘制半透明背景图片
|
if (bgVertical) ctx.drawImage(bgVertical, 0, 0, 1280, 1500, 0, 0, 1248, 2028); //绘制半透明背景图片
|
||||||
ctx.globalAlpha = 1; //恢复为不透明
|
ctx.globalAlpha = 1; //恢复为不透明
|
||||||
|
|
||||||
core.setTextAlign(ctx, "center");
|
core.setTextAlign(ctx, "center");
|
||||||
@ -12214,9 +12030,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
);
|
);
|
||||||
core.fillBoldText1(
|
core.fillBoldText1(
|
||||||
ctx,
|
ctx,
|
||||||
"离开",
|
"<离开",
|
||||||
100,
|
|
||||||
110,
|
110,
|
||||||
|
100,
|
||||||
"#FFFFFF",
|
"#FFFFFF",
|
||||||
"#000000",
|
"#000000",
|
||||||
6,
|
6,
|
||||||
@ -12237,7 +12053,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
45 - 12,
|
45 - 12,
|
||||||
400 - 12,
|
400 - 12,
|
||||||
120 + 24,
|
120 + 24,
|
||||||
120 + 12,
|
120 + 24,
|
||||||
12,
|
12,
|
||||||
"#444444",
|
"#444444",
|
||||||
3
|
3
|
||||||
@ -12256,7 +12072,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
45 - 12,
|
45 - 12,
|
||||||
1100 - 12,
|
1100 - 12,
|
||||||
120 + 24,
|
120 + 24,
|
||||||
120 + 12,
|
120 + 24,
|
||||||
12,
|
12,
|
||||||
"#444444",
|
"#444444",
|
||||||
3
|
3
|
||||||
@ -12306,20 +12122,12 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加浏览模式和CG模式的字样
|
|
||||||
/*
|
|
||||||
core.fillRoundRect(ctx, 350 - 6, 120 - 6, 120 + 12, 120 + 12, 6, '#444444');
|
|
||||||
core.strokeRoundRect(ctx, 350 - 12, 120 - 12, 120 + 24, 120 + 12, 12, "#444444", 3);
|
|
||||||
core.fillRoundRect(ctx, 950 - 6, 120 - 6, 120 + 12, 120 + 12, 6, '#444444');
|
|
||||||
core.strokeRoundRect(ctx, 950 - 12, 120 - 12, 120 + 24, 120 + 12, 12, "#444444", 3);
|
|
||||||
core.fillText(ctx, '浏览模式', 400, 180, '#FFFFFF', core.ui._buildFont(24, true));
|
|
||||||
core.fillText(ctx, 'CG模式', 1000, 180, '#FFFFFF', core.ui._buildFont(24, true));
|
|
||||||
*/
|
|
||||||
} else {
|
} else {
|
||||||
//横屏
|
//横屏
|
||||||
core.fillRect(ctx, 0, 0, 2028, 1248, "#000000"); //黑色背景
|
core.fillRect(ctx, 0, 0, 2028, 1248, "#000000"); //黑色背景
|
||||||
ctx.globalAlpha = 0.5; //透明度
|
ctx.globalAlpha = 0.5; //透明度
|
||||||
drawImage(ctx, "bg_5043.png", 0, 0, 1280, 720, 0, 0, 2028, 1248); //绘制半透明背景图片
|
if (bg) ctx.drawImage(bg, 0, 0, 1280, 720, 0, 0, 2028, 1248); //绘制半透明背景图片
|
||||||
ctx.globalAlpha = 1; //恢复为不透明
|
ctx.globalAlpha = 1; //恢复为不透明
|
||||||
//core.drawWindowSkin('winskin1.png', ctx, 0, 0, 2028, 1248);
|
//core.drawWindowSkin('winskin1.png', ctx, 0, 0, 2028, 1248);
|
||||||
core.setTextAlign(ctx, "center");
|
core.setTextAlign(ctx, "center");
|
||||||
@ -12328,7 +12136,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
45 - 6,
|
45 - 6,
|
||||||
45 - 6,
|
45 - 6,
|
||||||
120 + 12,
|
120 + 12,
|
||||||
120 + 12,
|
80 + 12,
|
||||||
6,
|
6,
|
||||||
"#444444"
|
"#444444"
|
||||||
);
|
);
|
||||||
@ -12337,16 +12145,16 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
45 - 12,
|
45 - 12,
|
||||||
45 - 12,
|
45 - 12,
|
||||||
120 + 24,
|
120 + 24,
|
||||||
120 + 24,
|
80 + 24,
|
||||||
12,
|
12,
|
||||||
"#444444",
|
"#444444",
|
||||||
3
|
3
|
||||||
);
|
);
|
||||||
core.fillBoldText1(
|
core.fillBoldText1(
|
||||||
ctx,
|
ctx,
|
||||||
"离开",
|
"<离开",
|
||||||
100,
|
|
||||||
110,
|
110,
|
||||||
|
100,
|
||||||
"#FFFFFF",
|
"#FFFFFF",
|
||||||
"#000000",
|
"#000000",
|
||||||
6,
|
6,
|
||||||
@ -12437,15 +12245,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加浏览模式和CG模式的字样
|
|
||||||
/*
|
|
||||||
core.fillRoundRect(ctx, 550 - 6, 45 - 6, 120 + 12, 120 + 12, 6, '#444444');
|
|
||||||
core.strokeRoundRect(ctx, 550 - 12, 45 - 12, 120 + 24, 120 + 24, 12, "#444444", 3);
|
|
||||||
core.fillText(ctx, '浏览模式', 600, 100, '#FFFFFF', core.ui._buildFont(24, true));
|
|
||||||
core.fillRoundRect(ctx, 1150 - 6, 45 - 6, 120 + 12, 120 + 12, 6, '#444444');
|
|
||||||
core.strokeRoundRect(ctx, 1150 - 12, 45 - 12, 120 + 24, 120 + 24, 12, "#444444", 3);
|
|
||||||
core.fillText(ctx, 'CG模式', 1200, 100, '#FFFFFF', core.ui._buildFont(24, true))
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -14277,5 +14077,194 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"musicMode": function () {
|
||||||
|
// 在此增加新插件
|
||||||
|
const music = document.createElement("canvas"); //CGui画布设置
|
||||||
|
music.style.position = "absolute";
|
||||||
|
music.style.zIndex = 300;
|
||||||
|
music.style.display = "none";
|
||||||
|
music.id = "music";
|
||||||
|
main.dom.gameGroup.insertAdjacentElement("afterend", music);
|
||||||
|
music.style.top = "50%";
|
||||||
|
music.style.left = "50%";
|
||||||
|
music.style.transform = "translate(-50%,-50%)";
|
||||||
|
const ctx = music.getContext("2d");
|
||||||
|
main.dom.music = music;
|
||||||
|
let page = 0; //初始页面
|
||||||
|
let show = false; //展示状态
|
||||||
|
music.onclick = function (e) {
|
||||||
|
try {
|
||||||
|
e.preventDefault();
|
||||||
|
if (core.isPlaying()) return false;
|
||||||
|
const left = core.dom.gameGroup.offsetLeft;
|
||||||
|
const top = core.dom.gameGroup.offsetTop;
|
||||||
|
const px = Math.floor((e.clientX - left) / core.domStyle.scale),
|
||||||
|
py = Math.floor((e.clientY - top) / core.domStyle.scale);
|
||||||
|
core.ui.music.onclick(px * 3, py * 3);
|
||||||
|
} catch (ee) {
|
||||||
|
main.log(ee);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class musicclass {
|
||||||
|
constructor() {
|
||||||
|
//music列表
|
||||||
|
//需全塔属性注册并保存在bgms文件夹,每个数组为显示的一页内容
|
||||||
|
this.musicMx = [
|
||||||
|
["Asphodelus_Ceui.mp3", 'Blind_Alley.mp3'],
|
||||||
|
['Crawler.mp3', 'op.mp3', 'theme.mp3']
|
||||||
|
];
|
||||||
|
//音乐别名(将在播放器内显示的音乐名,music列表内的都要有对应歌名)
|
||||||
|
this.musicname = {
|
||||||
|
"Asphodelus_Ceui.mp3": 'Asphodelus',
|
||||||
|
'Blind_Alley.mp3': 'Blind',
|
||||||
|
'Crawler.mp3': 'Crawler',
|
||||||
|
'op.mp3': 'op',
|
||||||
|
'theme.mp3': 'theme'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//更新
|
||||||
|
update() {
|
||||||
|
this.background();
|
||||||
|
this.drawUI();
|
||||||
|
}
|
||||||
|
background() {
|
||||||
|
//画布大小设置
|
||||||
|
if (core.domStyle.isVertical) {
|
||||||
|
music.width = 1248;
|
||||||
|
music.height = 2028;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
music.width = 2028;
|
||||||
|
music.height = 1248;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onclick(px, py) {
|
||||||
|
//点击
|
||||||
|
if (show) {
|
||||||
|
show = !show;
|
||||||
|
core.clearMap(ctx);
|
||||||
|
this.update();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const makeBox = ([x, y], [w, h]) => {
|
||||||
|
return [
|
||||||
|
[x, y],
|
||||||
|
[x + w, y + h],
|
||||||
|
];
|
||||||
|
};
|
||||||
|
const inRect = ([x, y], [
|
||||||
|
[sx, sy],
|
||||||
|
[dx, dy]
|
||||||
|
]) => {
|
||||||
|
return sx <= x && x <= dx && sy <= y && y <= dy;
|
||||||
|
};
|
||||||
|
const pos = [px, py];
|
||||||
|
const backbox = makeBox([45, 45], [120, 80]);
|
||||||
|
if (inRect(pos, backbox)) {
|
||||||
|
//离开按钮是一致的,其余的记区分横竖屏
|
||||||
|
music.style.display = "none";
|
||||||
|
core.clearMap(ctx);
|
||||||
|
core.restart();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
drawUI() {
|
||||||
|
//绘制页面
|
||||||
|
core.clearMap(music);
|
||||||
|
const bgVertical = core.material.images.images["bg_2010.png"] //竖屏背景
|
||||||
|
const bg = core.material.images.images["bg_5043.png"] //竖屏背景
|
||||||
|
if (core.domStyle.isVertical) {
|
||||||
|
//竖屏
|
||||||
|
|
||||||
|
core.fillRect(ctx, 0, 0, 1248, 2028, "#000000"); //黑色背景
|
||||||
|
ctx.globalAlpha = 0.5; //透明度
|
||||||
|
if (bgVertical) ctx.drawImage(bgVertical, 0, 0, 1280, 1500, 0, 0, 1248, 2028); //绘制半透明背景图片
|
||||||
|
ctx.globalAlpha = 1; //恢复为不透明
|
||||||
|
|
||||||
|
core.setTextAlign(ctx, "center");
|
||||||
|
core.fillRoundRect(
|
||||||
|
ctx,
|
||||||
|
45 - 6,
|
||||||
|
45 - 6,
|
||||||
|
120 + 12,
|
||||||
|
80 + 12,
|
||||||
|
6,
|
||||||
|
"#444444"
|
||||||
|
);
|
||||||
|
core.strokeRoundRect(
|
||||||
|
ctx,
|
||||||
|
45 - 12,
|
||||||
|
45 - 12,
|
||||||
|
120 + 24,
|
||||||
|
80 + 24,
|
||||||
|
12,
|
||||||
|
"#444444",
|
||||||
|
3
|
||||||
|
);
|
||||||
|
core.fillBoldText1(
|
||||||
|
ctx,
|
||||||
|
"<离开",
|
||||||
|
110,
|
||||||
|
100,
|
||||||
|
"#FFFFFF",
|
||||||
|
"#000000",
|
||||||
|
6,
|
||||||
|
core.ui._buildFont(33, true)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
//横屏
|
||||||
|
core.fillRect(ctx, 0, 0, 2028, 1248, "#000000"); //黑色背景
|
||||||
|
ctx.globalAlpha = 0.5; //透明度
|
||||||
|
if (bg) ctx.drawImage(bg, 0, 0, 1280, 720, 0, 0, 2028, 1248); //绘制半透明背景图片
|
||||||
|
ctx.globalAlpha = 1; //恢复为不透明
|
||||||
|
core.setTextAlign(ctx, "center");
|
||||||
|
core.fillRoundRect(
|
||||||
|
ctx,
|
||||||
|
45 - 6,
|
||||||
|
45 - 6,
|
||||||
|
120 + 12,
|
||||||
|
80 + 12,
|
||||||
|
6,
|
||||||
|
"#444444"
|
||||||
|
);
|
||||||
|
core.strokeRoundRect(
|
||||||
|
ctx,
|
||||||
|
45 - 12,
|
||||||
|
45 - 12,
|
||||||
|
120 + 24,
|
||||||
|
80 + 24,
|
||||||
|
12,
|
||||||
|
"#444444",
|
||||||
|
3
|
||||||
|
);
|
||||||
|
core.fillBoldText1(
|
||||||
|
ctx,
|
||||||
|
"<离开",
|
||||||
|
110,
|
||||||
|
100,
|
||||||
|
"#FFFFFF",
|
||||||
|
"#000000",
|
||||||
|
6,
|
||||||
|
core.ui._buildFont(33, true)
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
core.ui.music = new musicclass();
|
||||||
|
main.dom.musicMode.onclick = function () {
|
||||||
|
//点击开始页面的CG MODE进入cg回廊
|
||||||
|
main.core.control.checkBgm();
|
||||||
|
page = 0;
|
||||||
|
music.style.display = "block";
|
||||||
|
main.core.ui.music.update();
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user