From 61f42bd6c515f218f66a5981384d89ce18575767 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Thu, 5 Aug 2021 00:07:37 +0800 Subject: [PATCH] enlarge --- index.html | 1 + libs/control.js | 21 +++++++++++++++++++++ libs/core.js | 1 + libs/events.js | 1 + main.js | 5 +++++ project/functions.js | 1 + styles.css | 9 +++++++++ 7 files changed, 39 insertions(+) diff --git a/index.html b/index.html index 5c667f2c..d7d64c54 100644 --- a/index.html +++ b/index.html @@ -47,6 +47,7 @@

请稍候...

+
diff --git a/libs/control.js b/libs/control.js index 74a092b8..8cbae3a0 100644 --- a/libs/control.js +++ b/libs/control.js @@ -367,6 +367,7 @@ control.prototype._showStartAnimate_resetDom = function () { core.clearStatus(); core.clearMap('all'); core.dom.musicBtn.style.display = 'block'; + core.dom.enlargeBtn.style.display = 'block'; core.setMusicBtn(); // 重置音量 core.events.setVolume(1, 0); @@ -2783,6 +2784,7 @@ control.prototype.setMusicBtn = function () { core.dom.musicBtn.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAABWVBMVEX///9iYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmL///8AAAC5ubn+/v6xsbEtLS0MDAxmZmZoaGhvb2/c3Nzd3d38/Pz9/f0oKCgpKSl0dHR1dXW6urrb29v7+/v09PTv7+/39/cgICACAgImJibh4eGFhYWGhoaHh4eOjo5paWm7u7vDw8PMzMwyMjI7OztAQEDe3t5FRUVMTEzj4+Pl5eXm5ubp6enr6+tcXFzi4uL19fVeXl74+PgjIyNkZGQGBgaSkpKYmJiampqenp4DAwMwMDBnZ2cICAivr68eHh63t7cLCwsSEhLw8PBhYWEUFBQVFRXNzc3Pz8/Z2dna2toaGhqkpKSlpaWpqamrq6tFOUNAAAAAc3RSTlMAAwQFBhUWGxwkJSYyO0dISVBRUmpvj5CSk5SVoaOlpqiysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyA0IuUgAAAVdJREFUeF5NkVVbw0AQRTcQrLR4IIEGcidJoaUuQHF3d3d3+P/CkuxCzss8nG++mbnDBJXhNt2CpbeFK1kQpSEKidlc8S9qdATRa6UIdQMoxEpDA0Ov3wUAPfW+qLWACydNv9zMrzkJwPK6FB3oHyOfXfuNxvoBQ+GmBYinhHB77TmiVBxoYUw1AYcEq332AS8OYKosAuTT0nza9uU2USYPRJgGxEiSOFywJ3mNARozgBJJzkfLvfu8JgGDWcC9FEsjWzR+y80gYDEAA8QZ3N6kmP1Fs3fEASB7pob7Hh+Wz5L0ci17Or05J7bH6B6dZv05XWK3rG+myV05Ert592Qo55sPuoIr7hEZHHtieIPWy0RU9DLwc3Mnck/vi8/E8XNrDWQtEVnL/ySKMrv0jPwPp870fprcyYifmiEmqGpHkI5q9ofSFIUk2qiwIGpEMyxYhhZRRcMPz89RJ2s9W8wAAAAASUVORK5CYII="; else core.dom.musicBtn.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAABYlBMVEX///9iYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmJiYmL////8/PwAAABmZmZoaGihoaGioqKxsbG5ubnb29vc3Nzd3d3h4eHi4uL9/f3+/v4tLS1nZ2d0dHSUlJSenp66uroMDAz7+/spKSkoKCgUFBRpaWkVFRVvb291dXU7OzuVlZWYmJhkZGQgICAjIyOkpKQCAgK3t7cGBgbv7++pqamrq6seHh4mJiZhYWGamprp6enr6+saGhpeXl7j4+Pl5eXm5uZKSkrw8PD09PT19fW7u7vDw8PMzMwICAgwMDAyMjILCwtAQECGhoaHh4eBgYGFhYUSEhJXV1dZWVlcXFyOjo6SkpLNzc339/fPz8/Z2dna2tqTk5OlpaWxOPeTAAAAdnRSTlMAAwQFBhUWGxwkJSYyO0dISVBRUmpvj5CSk5SVoaOlpqiysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyNuo+uwAAAWJJREFUeF5NkmV34zAQReUm7WbTuJBNunY3bvXGDjNTkZkZlpn5/9eR5FPfbzr3jGb0RkwRiMQMDm7EIgHmRxtLwMOaHHoQjwz4MUKeCM8AWMrmd7u7f/aXAMyOShHiQD1n04DtN5e5FMBFlSauIsm585dKi4CpuSYKJIv1tBDVmvOSqJgEoowFLSBHaQh10XHWiCgHWEGmAw2blPrvOK/KRJUGoLM4kCVSKrWz7HwgoiwQZyaQJ0+9PvxV23BNATAZB25IqX9b3+jTW9fcApwB6NLgUD5NY3mPXnwmFwBezff1ztzRFzTp94FXMy36HDuCa2RafdnnmZqtL818Gl9/qNnEeyrUk2aTPiKj3qMyWBVi/YSuWq5qiwxkbtX3vYWzdz/l8M0k8ERlvViiB1Ygslb7SbVtJezncj+Cx5bYaeGuonZqhZlieAp+no74/s5EAh6JcY35Cepxk4ObcT3IJPe/1lKsDpFCFQAAAABJRU5ErkJggg=="; + core.dom.enlargeBtn.src = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMjUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8Zz4gPHBhdGggc3Ryb2tlPSJudWxsIiBmaWxsPSIjODg4ODg4IiBkPSJtMTQuMDc0NTcsMC4wMDAwMDRhMTAuOTY2ODM5LDEwLjkxODQ1MiAwIDAgMCAtMTAuOTUzNTM4LDEwLjkwNTIxYTEwLjg0ODkzMiwxMC44MDEwNjUgMCAwIDAgMi4yMTE1NzEsNi41MDA0NGwtNC44ODI3MjIsNC44NjExNzlhMS41NjQ2MzUsMS41NTc3MzEgMCAxIDAgMi4yMTI3MTksMi4yMDI5NTZsNC44ODI3MjIsLTQuODYxMTc5YTEwLjg0ODkzMiwxMC44MDEwNjUgMCAwIDAgNi41MjkyNDgsMi4yMDE4MTRhMTAuOTUzNTM4LDEwLjkwNTIxIDAgMCAwIDAsLTIxLjgxMDQyem0wLDE4LjY5NDY0NWE3LjgyMzk1Niw3Ljc4OTQzNiAwIDEgMSA3LjgyMzk1NiwtNy43ODk0MzZhNy44MzIxNzEsNy43OTc2MTQgMCAwIDEgLTcuODIzOTU2LDcuNzg5NDM2eiIvPgogIDxwYXRoIHN0cm9rZT0ibnVsbCIgZmlsbD0iIzg4ODg4OCIgZD0ibTE4LjQ5NDY0NSw4LjgyMjk2NmwtMi4xNjY0NzMsMGwwLC0yLjA1NTI0M2EyLjE2NjQ3MywyLjA1NTI0MyAwIDAgMCAtNC4zMzI5NDYsMGwwLDIuMDU1MjQzbC0yLjE2NjQ3MywwYTIuMTY2NDczLDIuMDU1MjQzIDAgMCAwIDAsNC4xMTA0ODZsMi4xNjY0NzMsMGwwLDIuMDU1MjQzYTIuMTY2NDczLDIuMDU1MjQzIDAgMCAwIDQuMzMyOTQ2LDBsMCwtMi4wNTUyNDNsMi4xNjY0NzMsMGEyLjE2NjQ3MywyLjA1NTI0MyAwIDAgMCAwLC00LjExMDQ4NnoiLz4KIDwvZz4KPC9zdmc+"; } ////// 更改背景音乐的播放 ////// @@ -2856,6 +2858,21 @@ control.prototype.checkBgm = function() { core.playBgm(core.musicStatus.playingBgm || main.startBgm); } +///// 设置屏幕大小 ////// +control.prototype.setDisplaySize = function (delta) { + var index = core.domStyle.availableScale.indexOf(core.domStyle.scale); + if (index < 0) return; + index += delta; + if (index < 0 || index >= core.domStyle.availableScale.length); + core.domStyle.scale = core.domStyle.availableScale[index]; + core.setLocalStorage('scale', core.domStyle.scale); + core.resize(); + var currentRatio = Math.max(window.devicePixelRatio || 1, core.domStyle.scale); + if (currentRatio > core.domStyle.ratio && core.isPlaying()) { + core.drawTip("需刷新页面以调整UI清晰度"); + } +} + // ------ 状态栏,工具栏等相关 ------ // ////// 清空状态栏 ////// @@ -3168,10 +3185,14 @@ control.prototype._resize_gameGroup = function (obj) { // musicBtn if (core.domStyle.isVertical || core.domStyle.scale < 1) { core.dom.musicBtn.style.right = core.dom.musicBtn.style.bottom = "3px"; + core.dom.enlargeBtn.style.right = "34px"; + core.dom.enlargeBtn.style.bottom = "3px" } else { core.dom.musicBtn.style.right = (obj.clientWidth - totalWidth) / 2 + "px"; core.dom.musicBtn.style.bottom = (obj.clientHeight - totalHeight) / 2 - 27 + "px"; + core.dom.enlargeBtn.style.right = (obj.clientWidth - totalWidth) / 2 + 31 + "px"; + core.dom.enlargeBtn.style.bottom = (obj.clientHeight - totalHeight) / 2 - 27 + "px"; } } diff --git a/libs/core.js b/libs/core.js index 5044f2d1..3c108ad0 100644 --- a/libs/core.js +++ b/libs/core.js @@ -272,6 +272,7 @@ core.prototype.init = function (coreData, callback) { }); }); core.dom.musicBtn.style.display = 'block'; + core.dom.enlargeBtn.style.display = 'block'; core.setMusicBtn(); } diff --git a/libs/events.js b/libs/events.js index e765107a..21227da4 100644 --- a/libs/events.js +++ b/libs/events.js @@ -58,6 +58,7 @@ events.prototype._startGame_start = function (hard, seed, route, callback) { if (core.flags.startUsingCanvas) { core.hideStatusBar(); core.dom.musicBtn.style.display = 'block'; + core.dom.enlargeBtn.style.display = 'block'; core.push(todo, core.firstData.startCanvas); } core.push(todo, {"type": "function", "function": "function() { core.events._startGame_setHard(); }"}) diff --git a/main.js b/main.js index 2e0abee0..a822a071 100644 --- a/main.js +++ b/main.js @@ -23,6 +23,7 @@ function main() { 'gameGroup': document.getElementById('gameGroup'), 'mainTips': document.getElementById('mainTips'), 'musicBtn': document.getElementById('musicBtn'), + 'enlargeBtn': document.getElementById('enlargeBtn'), 'startPanel': document.getElementById('startPanel'), 'startTop': document.getElementById('startTop'), 'startTopProgressBar': document.getElementById('startTopProgressBar'), @@ -761,6 +762,10 @@ main.dom.musicBtn.onclick = function () { } catch (e) {main.log(e);} } +main.dom.enlargeBtn.onclick = function () { + +} + window.onblur = function () { if (main.core && main.core.control) { try { diff --git a/project/functions.js b/project/functions.js index 3dd054f5..4388c052 100644 --- a/project/functions.js +++ b/project/functions.js @@ -50,6 +50,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = core.showStatusBar(); // 隐藏右下角的音乐按钮 core.dom.musicBtn.style.display = 'none'; + core.dom.enlargeBtn.style.display = 'none'; }, "win": function (reason, norank, noexit) { // 游戏获胜事件 diff --git a/styles.css b/styles.css index e97facb4..de44a4a3 100644 --- a/styles.css +++ b/styles.css @@ -33,6 +33,15 @@ display: none; } +#enlargeBtn { + position: fixed; + bottom: 3px; + right: 34px; + cursor: pointer; + z-index: 400; + display: none; +} + #startPanel { width: 100%; height: 100%;