设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1797|回复: 7
打印 上一主题 下一主题

[有事请教] 我如何讓10秒後自動更改遊戲視窗大小呢?

[复制链接]
回帖奖励 80 星屑 回复本帖可获得 10 星屑奖励! 每人限 1 次

Lv4.逐梦者

梦石
0
星屑
7667
在线时间
1437 小时
注册时间
2018-12-16
帖子
2026
跳转到指定楼层
1
发表于 2021-10-20 17:07:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 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. }


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

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

如果不能有可以拉動的條...不然就幾個我給定固定大小的按鈕好了....

Lv4.逐梦者

梦石
0
星屑
11175
在线时间
2066 小时
注册时间
2013-6-10
帖子
1516
2
发表于 2021-10-20 18:56:51 | 只看该作者

回帖奖励 +10 星屑

当然什么事情也不会发生啦,你写的的代码意思是10秒后弹出对不起,要你久候。

点评

已經弄到暈頭了....  发表于 2021-10-20 23:38
好像不是经过10秒,是经过30秒  发表于 2021-10-20 18:58
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3476
在线时间
293 小时
注册时间
2020-1-27
帖子
190
3
发表于 2021-10-20 21:10: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);
复制代码

点评

^_________^  发表于 2021-10-23 00:23
那就得根据网页来调整画面大小了, 但浏览器窗口大小肯定没法调的了.  发表于 2021-10-23 00:11
沒有nwjs打包...我的只有單純網頁 掛載 MV 遊戲... 所以這個程式碼沒作用耶...  发表于 2021-10-20 22:16
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-18 13:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表