From 25ac0e13cbd38e43c031744fb5f1182e83d871a2 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 13 May 2018 12:30:36 +0800 Subject: [PATCH] bgm autoreplay --- _server/fs.js | 36 +++++++++++------------------------- libs/control.js | 3 +-- main.js | 13 +++++++++++++ 3 files changed, 25 insertions(+), 27 deletions(-) diff --git a/_server/fs.js b/_server/fs.js index 751b7f30..31b24811 100644 --- a/_server/fs.js +++ b/_server/fs.js @@ -1,32 +1,18 @@ (function () { fs = {}; var postsomething = function (data, _ip, callback) { - //callback:function(err, data) - //data:字符串 - var xhr = new XMLHttpRequest(); - xhr.onreadystatechange = function () { - switch (xhr.readyState) { - case 4 : - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) { - if (Boolean(callback)) { - if (xhr.responseText.slice(0, 6) == 'error:') { - callback(xhr.responseText, null); - } else { - callback(null, xhr.responseText); - } - } - //printf(xhr.responseText) - } else { - if (Boolean(callback)) callback(xhr.status, null); - //printf('error:' + xhr.status+'
'+(xhr.responseText||'')); - } - break; - } - } - xhr.open('post', _ip); - xhr.setRequestHeader('Content-Type', 'text/plain'); if (typeof(data) == typeof([][0]) || data == null) data = JSON.stringify({1: 2}); - xhr.send(data); + core.http("POST", _ip, data, function (data) { + if (data.slice(0, 6) == 'error:') { + callback(data, null); + } + else { + callback(null, data); + } + }, function (e) { + console.log(e); + callback(e+":请检查启动服务是否处于正常运行状态。"); + }, "text/plain; charset=x-user-defined"); } fs.readFile = function (filename, encoding, callback) { diff --git a/libs/control.js b/libs/control.js index b6653234..c4e956f3 100644 --- a/libs/control.js +++ b/libs/control.js @@ -2138,11 +2138,10 @@ control.prototype.playBgm = function (bgm) { core.material.bgms[core.musicStatus.playingBgm].pause(); } // 播放当前BGM - core.musicStatus.playingBgm = bgm; core.material.bgms[bgm].volume = core.musicStatus.volume; core.material.bgms[bgm].play(); + core.musicStatus.playingBgm = bgm; core.musicStatus.isPlaying = true; - } catch (e) { console.log("无法播放BGM "+bgm); diff --git a/main.js b/main.js index 3dddfd0d..7cbb42fd 100644 --- a/main.js +++ b/main.js @@ -457,6 +457,10 @@ main.statusBar.image.settings.onclick = function () { main.dom.playGame.onclick = function () { main.dom.startButtons.style.display='none'; + if (main.core.isset(main.core.musicStatus) && main.core.musicStatus.startDirectly + && main.core.musicStatus.bgmStatus && main.core.musicStatus.playingBgm==null) + main.core.playBgm(main.core.bgms[0]); + if (main.core.isset(main.core.flags.startDirectly) && main.core.flags.startDirectly) { core.events.startGame(""); } @@ -467,12 +471,21 @@ main.dom.playGame.onclick = function () { ////// 点击“载入游戏”时 ////// main.dom.loadGame.onclick = function() { + + if (main.core.isset(main.core.musicStatus) && main.core.musicStatus.startDirectly + && main.core.musicStatus.bgmStatus && main.core.musicStatus.playingBgm==null) + main.core.playBgm(main.core.bgms[0]); + main.core.load(); } ////// 点击“录像回放”时 ////// main.dom.replayGame.onclick = function () { + if (main.core.isset(main.core.musicStatus) && main.core.musicStatus.startDirectly + && main.core.musicStatus.bgmStatus && main.core.musicStatus.playingBgm==null) + main.core.playBgm(main.core.bgms[0]); + core.readFile(function (obj) { if (obj.name!=core.firstData.name) { alert("存档和游戏不一致!");