This commit is contained in:
ckcz123 2017-12-31 23:41:14 +08:00
parent b03f2c9171
commit a9529afe6e

30
main.js
View File

@ -117,6 +117,7 @@ function main() {
this.canvas = {}; this.canvas = {};
} }
////// 初始化 //////
main.prototype.init = function () { main.prototype.init = function () {
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.dom.gameCanvas[i].getContext('2d'); main.canvas[main.dom.gameCanvas[i].id] = main.dom.gameCanvas[i].getContext('2d');
@ -136,6 +137,7 @@ main.prototype.init = function () {
}); });
} }
////// 动态加载所有核心JS文件 //////
main.prototype.loaderJs = function (callback) { main.prototype.loaderJs = function (callback) {
var instanceNum = 0; var instanceNum = 0;
// 加载js // 加载js
@ -156,6 +158,7 @@ main.prototype.loaderJs = function (callback) {
} }
} }
////// 动态加载所有楼层(剧本) //////
main.prototype.loaderFloors = function (callback) { main.prototype.loaderFloors = function (callback) {
// 加载js // 加载js
@ -182,6 +185,7 @@ main.prototype.loaderFloors = function (callback) {
} }
} }
////// 加载某一个JS文件 //////
main.prototype.loadMod = function (modName, callback) { main.prototype.loadMod = function (modName, callback) {
var script = document.createElement('script'); var script = document.createElement('script');
var name = modName; var name = modName;
@ -193,6 +197,7 @@ main.prototype.loadMod = function (modName, 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 = 'libs/floors/' + floorId +'.js?' + this.version; script.src = 'libs/floors/' + floorId +'.js?' + this.version;
@ -202,6 +207,7 @@ main.prototype.loadFloor = function(floorId, callback) {
} }
} }
////// 加载过程提示 //////
main.prototype.setMainTipsText = function (text) { main.prototype.setMainTipsText = function (text) {
main.dom.mainTips.innerHTML = text; main.dom.mainTips.innerHTML = text;
} }
@ -209,12 +215,14 @@ main.prototype.setMainTipsText = function (text) {
var main = new main(); var main = new main();
main.init(); main.init();
////// 窗口大小变化时 //////
window.onresize = function () { window.onresize = function () {
try { try {
main.core.resize(main.dom.body.clientWidth, main.dom.body.clientHeight); main.core.resize(main.dom.body.clientWidth, main.dom.body.clientHeight);
}catch (e) {} }catch (e) {}
} }
////// 在界面上按下某按键时 //////
main.dom.body.onkeydown = function(e) { main.dom.body.onkeydown = function(e) {
try { try {
if (main.core.isPlaying() || main.core.status.lockControl) if (main.core.isPlaying() || main.core.status.lockControl)
@ -222,6 +230,7 @@ main.dom.body.onkeydown = function(e) {
} catch (ee) {} } catch (ee) {}
} }
////// 在界面上放开某按键时 //////
main.dom.body.onkeyup = function(e) { main.dom.body.onkeyup = function(e) {
try { try {
if (main.core.isPlaying() || main.core.status.lockControl) if (main.core.isPlaying() || main.core.status.lockControl)
@ -229,10 +238,12 @@ main.dom.body.onkeyup = function(e) {
} catch (ee) {} } catch (ee) {}
} }
////// 开始选择时 //////
main.dom.body.onselectstart = function () { main.dom.body.onselectstart = function () {
return false; return false;
} }
////// 鼠标按下时 //////
main.dom.data.onmousedown = function (e) { main.dom.data.onmousedown = function (e) {
try { try {
e.stopPropagation(); e.stopPropagation();
@ -247,6 +258,7 @@ main.dom.data.onmousedown = function (e) {
} catch (ee) {} } catch (ee) {}
} }
////// 鼠标移动时 //////
main.dom.data.onmousemove = function (e) { main.dom.data.onmousemove = function (e) {
try { try {
e.stopPropagation(); e.stopPropagation();
@ -257,12 +269,14 @@ main.dom.data.onmousemove = function (e) {
}catch (ee) {} }catch (ee) {}
} }
////// 鼠标放开时 //////
main.dom.data.onmouseup = function () { main.dom.data.onmouseup = function () {
try { try {
main.core.onup(); main.core.onup();
}catch (e) {} }catch (e) {}
} }
////// 鼠标滑轮滚动时 //////
main.dom.data.onmousewheel = function(e) { main.dom.data.onmousewheel = function(e) {
try { try {
if (e.wheelDelta) if (e.wheelDelta)
@ -272,6 +286,7 @@ main.dom.data.onmousewheel = function(e) {
} catch (ee) {} } catch (ee) {}
} }
////// 手指在触摸屏开始触摸时 //////
main.dom.data.ontouchstart = function (e) { main.dom.data.ontouchstart = function (e) {
try { try {
e.preventDefault(); e.preventDefault();
@ -283,6 +298,7 @@ main.dom.data.ontouchstart = function (e) {
}catch (ee) {} }catch (ee) {}
} }
////// 手指在触摸屏上移动时 //////
main.dom.data.ontouchmove = function (e) { main.dom.data.ontouchmove = function (e) {
try { try {
e.preventDefault(); e.preventDefault();
@ -293,6 +309,7 @@ main.dom.data.ontouchmove = function (e) {
}catch (ee) {} }catch (ee) {}
} }
////// 手指离开触摸屏时 //////
main.dom.data.ontouchend = function () { main.dom.data.ontouchend = function () {
try { try {
main.core.onup(); main.core.onup();
@ -300,41 +317,49 @@ main.dom.data.ontouchend = function () {
} }
} }
////// 点击状态栏中的怪物手册时 //////
main.statusBar.image.book.onclick = function () { main.statusBar.image.book.onclick = function () {
if (main.core.isPlaying()) if (main.core.isPlaying())
main.core.openBook(true); main.core.openBook(true);
} }
////// 点击状态栏中的楼层传送器时 //////
main.statusBar.image.fly.onclick = function () { main.statusBar.image.fly.onclick = function () {
if (main.core.isPlaying()) if (main.core.isPlaying())
main.core.useFly(true); main.core.useFly(true);
} }
////// 点击状态栏中的工具箱时 //////
main.statusBar.image.toolbox.onclick = function () { main.statusBar.image.toolbox.onclick = function () {
if (main.core.isPlaying()) if (main.core.isPlaying())
main.core.openToolbox(true); main.core.openToolbox(true);
} }
////// 点击状态栏中的快捷商店时 //////
main.statusBar.image.shop.onclick = function () { main.statusBar.image.shop.onclick = function () {
if (main.core.isPlaying()) if (main.core.isPlaying())
main.core.ui.drawQuickShop(true); main.core.ui.drawQuickShop(true);
} }
////// 点击状态栏中的存档按钮时 //////
main.statusBar.image.save.onclick = function () { main.statusBar.image.save.onclick = function () {
if (main.core.isPlaying()) if (main.core.isPlaying())
main.core.save(true); main.core.save(true);
} }
////// 点击状态栏中的读档按钮时 //////
main.statusBar.image.load.onclick = function () { main.statusBar.image.load.onclick = function () {
if (main.core.isPlaying()) if (main.core.isPlaying())
main.core.load(true); main.core.load(true);
} }
////// 点击状态栏中的系统菜单时 //////
main.statusBar.image.settings.onclick = function () { main.statusBar.image.settings.onclick = function () {
if (main.core.isPlaying()) if (main.core.isPlaying())
main.core.ui.drawSettings(true); main.core.ui.drawSettings(true);
} }
////// 点击“开始游戏”时 //////
main.dom.playGame.onclick = function () { main.dom.playGame.onclick = function () {
main.dom.startButtons.style.display='none'; main.dom.startButtons.style.display='none';
@ -346,22 +371,27 @@ main.dom.playGame.onclick = function () {
} }
} }
////// 点击“载入游戏”时 //////
main.dom.loadGame.onclick = function() { main.dom.loadGame.onclick = function() {
main.core.load(); main.core.load();
} }
////// 点击“关于本塔”时 //////
main.dom.aboutGame.onclick = function () { main.dom.aboutGame.onclick = function () {
main.core.ui.drawAbout(); main.core.ui.drawAbout();
} }
////// 点击“简单难度”时 //////
main.dom.easyLevel.onclick = function() { main.dom.easyLevel.onclick = function() {
core.events.startGame('Easy'); core.events.startGame('Easy');
} }
////// 点击“普通难度”时 //////
main.dom.normalLevel.onclick = function () { main.dom.normalLevel.onclick = function () {
core.events.startGame('Normal'); core.events.startGame('Normal');
} }
////// 点击“困难难度”时 //////
main.dom.hardLevel.onclick = function () { main.dom.hardLevel.onclick = function () {
core.events.startGame('Hard'); core.events.startGame('Hard');
} }