chore: 删除 main.js 中的无用监听

This commit is contained in:
unanmed 2025-09-02 12:55:25 +08:00
parent 712bb1b1bf
commit f0551d163f
3 changed files with 13 additions and 316 deletions

View File

@ -1,206 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='content-type' content='text/html' charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=Edge, chrome=1'>
<meta name='author' content='ckcz123'>
<meta name='viewport'
content='width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=yes'>
<title>HTML5魔塔</title>
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="screen-orientation" content="portrait">
<meta name="full-screen" content="yes">
<meta name="browsermode" content="application">
<meta name="x5-orientation" content="portrait">
<meta name="x5-fullscreen" content="true">
<meta name="x5-page-mode" content="app">
<link type='text/css' href='styles.css' rel='stylesheet'>
</head>
<body>
<div id='startImageBackgroundDiv'>
<div id='startImageDiv'></div>
<img id='startImageLogo' />
</div>
<script>
// (function () {
// var startImageBackgroundDiv = document.getElementById('startImageBackgroundDiv');
// var startImageLogo = document.getElementById('startImageLogo');
// var startImageDiv = document.getElementById('startImageDiv');
// startImageLogo.onload = function () {
// startImageBackgroundDiv.style.display = 'block';
// var onAnimationEnd = function () {
// startImageBackgroundDiv.style.display = 'none';
// startImageLogo.classList.remove("startImageAnimation");
// startImageDiv.classList.remove("startImageDivAnimation");
// }
// startImageDiv.addEventListener("webkitAnimationEnd", onAnimationEnd);
// startImageDiv.addEventListener("animationend", onAnimationEnd);
// startImageLogo.classList.add("startImageAnimation");
// startImageDiv.classList.add("startImageDivAnimation");
// // 注释下面这句话以禁止单击立刻跳过开场动画
// startImageBackgroundDiv.onclick = onAnimationEnd;
// }
// startImageLogo.onerror = function () { }
// startImageLogo.src = "logo.png";
// })();
</script>
<!-- injection -->
<div id='gameGroup'>
<p id='mainTips'>请稍候...</p>
<img id='musicBtn'>
<div id='startPanel' style="display: none;">
<div id='startTop'>
<div id='startTopProgressBar'>
<div id='startTopProgress'></div>
</div>
<p id='startTopLoadTips'>资源即将开始加载</p>
<p id='startTopHint'>HTML5魔塔游戏平台享受更多魔塔游戏<br />https://h5mota.com/</p>
</div>
<img id='startBackground'>
<p id='startLogo'></p>
<div id='startButtonGroup'>
<div id='startButtons'>
<span class='startButton' id='playGame'>开始游戏</span>
<span class='startButton' id='loadGame'>载入游戏</span>
<span class='startButton' id='replayGame'>录像回放</span>
</div>
<div id='levelChooseButtons'></div>
</div>
</div>
<div id='floorMsgGroup'>
<p id='logoLabel'></p>
<p id='versionLabel'></p>
<p id='floorNameLabel'></p>
</div>
<div id='statusBar' class="clearfix">
<div class="status" id="floorCol">
<img id="img-floor">
<p class='statusLabel statusText' id='floor'></p>
</div>
<div class="status" id="nameCol">
<img id="img-name">
<p class='statusLabel statusText' id='name'></p>
</div>
<div class="status" id="lvCol">
<img id="img-lv">
<p class='statusLabel statusText' id='lv'></p>
</div>
<div class="status" id='hpmaxCol'>
<img id="img-hpmax">
<p class='statusLabel statusText' id='hpmax'></p>
</div>
<div class="status" id='hpCol'>
<img id="img-hp">
<p class='statusLabel statusText' id='hp'></p>
</div>
<div class="status" id='manaCol'>
<img id="img-mana">
<p class='statusLabel statusText' id='mana'></p>
</div>
<div class="status" id='atkCol'>
<img id="img-atk">
<p class='statusLabel statusText' id='atk'></p>
</div>
<div class="status" id='defCol'>
<img id="img-def">
<p class='statusLabel statusText' id='def'></p>
</div>
<div class="status" id="mdefCol">
<img id="img-mdef">
<p class='statusLabel statusText' id='mdef'></p>
</div>
<div class="status" id="moneyCol">
<img id="img-money">
<p class='statusLabel statusText' id='money'></p>
</div>
<div class="status" id="expCol">
<img id="img-exp">
<p class='statusLabel statusText' id='exp'></p>
</div>
<div class="status" id="upCol">
<img id="img-up">
<p class='statusLabel statusText' id='up'></p>
</div>
<div class="status" id="skillCol">
<img id="img-skill">
<p class='statusLabel statusText' id='skill' style='font-style: normal'></p>
</div>
<div class="status" id='keyCol'>
<span class='statusLabel' id='yellowKey' style="color:#FFCCAA"></span>
<span class='statusLabel' id='blueKey' style="color:#AAAADD"></span>
<span class='statusLabel' id='redKey' style="color:#FF8888"></span>
<span class='statusLabel' id='greenKey' style="color:#88FF88"></span>
</div>
<div class="status" id='pzfCol'>
<span class='statusLabel' id='pickaxe' style="color: #BC6E27"></span>
<span class='statusLabel' id='bomb' style="color: #FA14B9"></span>
<span class='statusLabel' id='fly' style="color: #8DB600"></span>
</div>
<div class="status" id="debuffCol">
<span class='statusLabel' id='poison' style="color: #AFFCA8;"></span>
<span class='statusLabel' id='weak' style="color: #FECCD0;"></span>
<span class='statusLabel' id='curse' style="color: #C2F4E7;"></span>
</div>
<!-- 状态栏canvas化 -->
<canvas id="statusCanvas" style="position: absolute; left: 0; top: 0;"></canvas>
</div>
<!-- <div id="toolBar" class="clearfix">
<img class="tools" id='img-book'>
<img class="tools" id='img-fly'>
<img class="tools" id='img-toolbox'>
<img class="tools" id='img-keyboard'>
<img class="tools" id='img-shop'>
<img class="tools" id='img-save'>
<img class="tools" id='img-load'>
<img class="tools" id='img-settings'>
<img class="tools" id='img-btn1' style='display:none'>
<img class="tools" id='img-btn2' style='display:none'>
<img class="tools" id='img-btn3' style='display:none'>
<img class="tools" id='img-btn4' style='display:none'>
<img class="tools" id='img-btn5' style='display:none'>
<img class="tools" id='img-btn6' style='display:none'>
<img class="tools" id='img-btn7' style='display:none'>
<img class="tools" id='img-btn8' style='display:none'>
<p class="statusLabel tools" id="hard"></p>
</div> -->
<div id="gameDraw">
<div id="gif"></div>
<div id="gif2"></div>
<canvas class='gameCanvas' id='bg'></canvas>
<canvas class='gameCanvas' id='event'></canvas>
<canvas class='gameCanvas' id='hero'></canvas>
<canvas class='gameCanvas' id='event2'></canvas>
<canvas class='gameCanvas' id='fg'></canvas>
<canvas class='gameCanvas' id='damage'></canvas>
<canvas class='gameCanvas' id='animate'></canvas>
<canvas class='gameCanvas' id='curtain'></canvas>
<canvas class='gameCanvas' id='ui'></canvas>
<canvas class='gameCanvas' id='data'>此浏览器不支持HTML5</canvas>
<div id="next"></div>
</div>
</div>
<div id='inputDiv'>
<div id='inputDialog'>
<p id="inputMessage">请输入文字...</p>
<input id='inputBox' type="text" autocomplete="off" />
<button id='inputYes'>确定</button>
<button id='inputNo'>取消</button>
</div>
</div>
<div id="ui-editor"></div>
<!-- injection -->
<script src='libs/thirdparty/lz-string.min.js'></script>
<script src='libs/thirdparty/priority-queue.min.js'></script>
<script src='libs/thirdparty/localforage.min.js'></script>
<script src='libs/thirdparty/zip.min.js'></script>
<script src="libs/thirdparty/lodash.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@vue/reactivity@3.2.39/dist/reactivity.global.prod.js"></script>
<script id='mainScript' src='main.js'></script>
<script>main.init('play'); main.listen();</script>
</body>
</html>

View File

@ -5,10 +5,7 @@ function main() {
this.version = '1.0.0'; // 游戏版本号如果更改了游戏内容建议修改此version以免造成缓存问题。
this.useCompress = false; // 是否使用压缩文件
this.pluginUseCompress = false;
// 当你即将发布你的塔时请使用“JS代码压缩工具”将所有js代码进行压缩然后将这里的useCompress改为true。
// 请注意只有useCompress是false时才会读取floors目录下的文件为true时会直接读取libs目录下的floors.min.js文件。
// 如果要进行剧本的修改请务必将其改成false。
this.skipResourcePackage = true; // 跳过资源打包
this.bgmRemote = false; // 是否采用远程BGM
this.bgmRemoteRoot = 'https://h5mota.com/music/'; // 远程BGM的根目录
@ -138,6 +135,9 @@ main.prototype.init = async function (mode, callback) {
};
main.prototype.loadSync = function (mode, callback) {
// 录像验证中应该在所有内容初始化之前加载 data.process.js
loadSource('data.process.js');
main.mode = mode;
if (main.useCompress) {
main.loadMod('project', 'project', () => 0);
@ -158,6 +158,8 @@ main.prototype.loadSync = function (mode, callback) {
});
}
main.loading.emit('coreLoaded');
for (const name of main.loadList) {
if (name === 'core') continue;
core[name] = new window[name]();
@ -184,7 +186,6 @@ main.prototype.loadSync = function (mode, callback) {
});
core.initSync(coreData, callback);
main.loading.emit('coreLoaded');
main.loading.emit('coreInit');
core.initStatus.maps = core.maps._initMaps();
core.resize();
@ -215,8 +216,6 @@ main.prototype.loadAsync = async function (mode, callback) {
const mainData = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main;
Object.assign(main, mainData);
// main.importFonts(main.fonts);
// 加载核心js代码
if (main.useCompress) {
await main.loadScript(`libs/libs.min.js?v=${main.version}`);
@ -243,15 +242,15 @@ main.prototype.loadAsync = async function (mode, callback) {
if (main.useCompress) {
await main.loadScript(`project/floors.min.js?v=${main.version}`);
} else {
await new Promise(res => {
main.loadScript(
await main
.loadScript(
`/all/__all_floors__.js?v=${
main.version
}&id=${main.floorIds.join(',')}`
).then(
)
.then(
() => {
main.supportBunch = true;
res();
},
async () => {
await Promise.all(
@ -259,10 +258,8 @@ main.prototype.loadAsync = async function (mode, callback) {
main.loadScript(`project/floors/${v}.js`)
)
);
res();
}
);
});
}
// 初始化core
@ -360,97 +357,6 @@ main.prototype.listen = function () {
return false;
};
////// 鼠标按下时 //////
main.dom.data.onmousedown = function (e) {
try {
e.stopPropagation();
var loc = core.actions._getClickLoc(e.offsetX, e.offsetY);
if (loc == null) return;
core.ondown(loc);
} catch (ee) {
console.error(ee);
}
};
////// 鼠标移动时 //////
main.dom.data.onmousemove = function (e) {
try {
var loc = core.actions._getClickLoc(e.offsetX, e.offsetY);
if (loc == null) return;
core.onmove(loc);
} catch (ee) {
console.error(ee);
}
};
////// 鼠标放开时 //////
main.dom.data.onmouseup = function (e) {
try {
var loc = core.actions._getClickLoc(e.offsetX, e.offsetY);
if (loc == null) return;
core.onup(loc);
} catch (ee) {
console.error(ee);
}
};
////// 鼠标滑轮滚动时 //////
main.dom.data.onmousewheel = function (e) {
try {
if (e.wheelDelta) core.onmousewheel(Math.sign(e.wheelDelta));
else if (e.detail) core.onmousewheel(Math.sign(e.detail));
} catch (ee) {
console.error(ee);
}
};
////// 手指在触摸屏开始触摸时 //////
main.dom.data.ontouchstart = function (e) {
try {
e.preventDefault();
var loc = core.actions._getClickLoc(
e.targetTouches[0].clientX,
e.targetTouches[0].clientY,
true
);
if (loc == null) return;
main.lastTouchLoc = loc;
core.ondown(loc);
} catch (ee) {
console.error(ee);
}
};
////// 手指在触摸屏上移动时 //////
main.dom.data.ontouchmove = function (e) {
try {
e.preventDefault();
var loc = core.actions._getClickLoc(
e.targetTouches[0].clientX,
e.targetTouches[0].clientY,
true
);
if (loc == null) return;
main.lastTouchLoc = loc;
core.onmove(loc);
} catch (ee) {
console.error(ee);
}
};
////// 手指离开触摸屏时 //////
main.dom.data.ontouchend = function (e) {
try {
e.preventDefault();
if (main.lastTouchLoc == null) return;
var loc = main.lastTouchLoc;
delete main.lastTouchLoc;
core.onup(loc);
} catch (e) {
console.error(e);
}
};
window.onblur = function () {
if (core && core.control) {
try {

View File

@ -507,12 +507,9 @@ async function buildGame() {
});
await Promise.all(
resources.map(v => {
return writeFile(
resolve(tempDir, 'resource', v.fileName),
v.buffer
);
})
resources.map(v =>
writeFile(resolve(tempDir, 'resource', v.fileName), v.buffer)
)
).catch(reason => {
logProgress(5, ProgressStatus.Fail);
process.stderr.write(String(reason));