Project1

标题: 我如何讓10秒後自動更改遊戲視窗大小呢? [打印本页]

作者: play337    时间: 2021-10-20 17:07
标题: 我如何讓10秒後自動更改遊戲視窗大小呢?
本帖最后由 play337 于 2021-10-20 17:18 编辑

我如何讓10秒後自動更改遊戲視窗大小呢?

<canvas width="800" height="600" id="canvas" oncontextmenu="event.preventDefault()" style="width: 800px; height: 600px;"></canvas>

經過十秒

<canvas width="600" height="400" id="canvas" oncontextmenu="event.preventDefault()" style="width: 600px; height: 400px;"></canvas>

-----------------------------------------------------
JAVASCRIPT 代码复制
  1. <script>
  2. setTimeout("alert('對不起, 要你久候')", 30000 )
  3. document.getElementById('canvas').width = '600px';
  4. document.getElementById('canvas').height = '400px';
  5. document.getElementById('canvas').style.width = '600px';
  6. document.getElementById('canvas').style.height = '400px';
  7. </script>


結果甚麼事情也沒有發生....

JAVASCRIPT 代码复制
  1. <script>
  2. setTimeout("alert('對不起, 要你久候')", 15000 )
  3. document.getElementById('canvas').width = 600;
  4. document.getElementById('canvas').height = 400;
  5. </script>


還是甚麼事情都沒發生.....

JAVASCRIPT 代码复制
  1. window.onload = function() {
  2.     function resize() {
  3.         let canvas = document.querySelector('canvas')
  4.         let ww = window.innerWidth
  5.         let wh = window.innerHeight
  6.         let wRatio =  ww / wh
  7.         let gameRatio = config.width / config.height
  8.         if (wRatio < gameRatio) {
  9.             canvas.style.width = ww + 'px'
  10.             canvas.style.height = ( ww / gameRatio ) + 'px'
  11.         } else {
  12.             canvas.style.width = ( wh * gameRatio ) + 'px'
  13.             canvas.style.height = wh + 'px'
  14.         }
  15.     }
  16.     resize()
  17.     window.addEventListener('resize', resize, false)        // 偵聽事件 resize
  18. }


後來找到這個好像很棒的東西...他說可以自己更改遊戲大小... 但是 還是甚麼事情都沒有發生... >_<

------------------------------------------------------
有沒有辦法弄個可以拉動的條....很簡單的改變遊戲視窗大小呢?

如果不能有可以拉動的條...不然就幾個我給定固定大小的按鈕好了....
作者: 小怪兽奇奇侠    时间: 2021-10-20 18:56
当然什么事情也不会发生啦,你写的的代码意思是10秒后弹出对不起,要你久候。
作者: zths    时间: 2021-10-20 21:10
首先 现代浏览器好像不允许正常网页自己修改大小(弹窗不知道)
然后mv/mz默认支持自动将游戏适配窗口大小的.

你如果是mv/mz默认的的nwjs打包那可以用nwjs的内置函数+启动mv自身的缩放.


  1. function resizeTo(w,h){
  2.         Graphics._stretchEnabled=true;
  3.         Graphics._updateAllElements()
  4.         var win = require("nw.gui").Window.get();
  5.         win.restore();
  6.         win.resizeTo(w,h);
  7. }
  8. setTimeout(function(){
  9.     resizeTo(600,400)
  10. }, 30*1000);
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1