论坛
BBS
登录
Project1
»
论坛
›
技术讨论
›
RPG Maker MZ 讨论区
›
请问有没有可以修改游戏分辨率的插件或者小工具? ...
返回列表
发新帖
查看:
317
|
回复:
2
[有事请教]
请问有没有可以修改游戏分辨率的插件或者小工具?
[复制链接]
annafraid
annafraid
当前离线
赞
1
VIP
好人卡
积分
0
经验
最后登录
2026-9-5
在线时间
6 小时
写轮眼
梦石
0
星屑
44
在线时间
6 小时
注册时间
2026-8-22
回帖
1
发消息
发表于 2026-8-30 19:20:35
|
显示全部楼层
|
阅读模式
悬赏
22
星屑
未解决
rt,各位大佬,请问有没有可以修改游戏分辨率的插件或者小工具?想要缩小人物和图块的比例,在相同大小窗口内显示更多的地图,求求了!
我来回答
回复
使用道具
举报
提升卡
沉默号角
喧嚣号角
变色卡
升龙剑
写给妖精的情诗
写给妖精的情诗
当前离线
赞
4
VIP
好人卡
积分
15
经验
最后登录
2026-9-15
在线时间
167 小时
写轮眼
梦石
0
星屑
1518
在线时间
167 小时
注册时间
2025-2-15
回帖
67
发消息
发表于 2026-9-1 19:28:07
|
显示全部楼层
1920*1080是电脑常见的分辨率,steam商店界面那里的截图好像也是这个分辨率。
然后可以在数据库、系统2、进阶设置这里设置成这个分辨率。
在地图编辑的宽高那里设置宽40高22就很接近这个分辨率,1920/48=40,1080/48=22.5。
另外,在rmmz_core.js这里的Tilemap.Layer.MAX_SIZE = 16000;好像就是8000个正方形分开的16000个三角形。
也就是说一张地图默认的最大是256*256,但是屏幕可以同时显示的图块层是8000个。
如果是在地图那里使用远景图或无限图层之类的,那就可以考虑119*67=7973这样的大小,因为(40*3)*(22.5*3)=8100稍微大了一点。
如果是在地图上画图块的话,考虑到一二三四的图层,可以考虑96*54这样的大小,因为1920/20=96,1080/20=54,96*54=5184,8000-5184=2816。
在周围画上大量的水面,在岛上画上大量的花草、平地,还有2816个图层可以用在树木、建筑那里。
80*45=3600这样的大小也挺合适的,因为1920/24=80,1080/24=45。
//这里的宽高都是求整数,但是没必要强求整数的,没必要完全贴合的。
for(y=1;y<=999;y++){
if(((1920/1080)*y)*y < 8000){
x = (1920/1080)*y
if(Number.isInteger(x)){
console.log("宽等于" + x)
console.log("高等于" + y)
};
};
};
复制代码
然后就是在事件页或共通事件那里并行执行下面这两段。
◆如果:按键 [左] 被按下
◆注释:把下面这段代码放到这里的脚本框。
◆
:结束分支
//更改游戏屏幕的宽度和高度。
screenWidth = $gameMap.width()*$dataSystem.tileSize;
screenHeight = $gameMap.height()*$dataSystem.tileSize;
Graphics.resize(screenWidth, screenHeight);
//窗口显示的宽度和高度
Graphics.boxWidth = $gameMap.width()*$dataSystem.tileSize;
Graphics.boxHeight = $gameMap.height()*$dataSystem.tileSize;
//全屏的脚本
Graphics._requestFullScreen();
<p>//游戏屏幕的宽度和高度。。。我一开始是有写这两行的,后面发现好像不需要写。</p>
<p>//Graphics.width = $gameMap.width()*$dataSystem.tileSize;</p>
<p>//Graphics.height = $gameMap.height()*$dataSystem.tileSize;</p>//或许需要把Game_Map.prototype.canvasToMapX = function这段和Game_Map.prototype.canvasToMapY = function这段复制到这里,然后把里面的代码删掉
//这两行是因为需要让程序再次加载画面,没有找到那些代码,就这样变通一下了。
//把玩家位置重新定位,直接调用当前地图的ID、玩家的X、Y坐标位置、朝向、淡入淡出的黑、白、无分别对应0、1、2
//场景移动到启动游戏时,玩家的初始位置那里
$gamePlayer.reserveTransfer($gameMap._mapId, $gamePlayer.x, $gamePlayer.y,$gamePlayer._direction, 2);
SceneManager.goto(Scene_Map);
复制代码
◆如果:按键 [右] 被按下
◆注释:把下面这段代码放到这里的脚本框。
◆
:结束分支
//更改游戏屏幕的宽度和高度。
screenWidth = 1920//$gameMap.width()*$dataSystem.tileSize;
screenHeight = 1080//$gameMap.height()*$dataSystem.tileSize;
Graphics.resize(screenWidth, screenHeight);
//窗口显示的宽度和高度
Graphics.boxWidth = 1920//$gameMap.width()*$dataSystem.tileSize;
Graphics.boxHeight = 1080//$gameMap.height()*$dataSystem.tileSize;
复制代码
回复
使用道具
举报
写给妖精的情诗
写给妖精的情诗
当前离线
赞
4
VIP
好人卡
积分
15
经验
最后登录
2026-9-15
在线时间
167 小时
写轮眼
梦石
0
星屑
1518
在线时间
167 小时
注册时间
2025-2-15
回帖
67
发消息
发表于 2026-9-1 20:11:27
|
显示全部楼层
本帖最后由 写给妖精的情诗 于 2026-9-1 23:09 编辑
//每一个宽都有对应的高,不是整数就考虑一下四舍五入
for(x=1;x<=999;x++){
if(((1080/1920)*x)*x < 8000){
y = (1080/1920)*x
if(Number.isInteger(y)){
console.log()
console.log("X和Y都是整数")
console.log("宽等于" + x)
console.log("高等于" + y)
};
if( x >= 40 && !Number.isInteger(y)){
console.log()
console.log("宽等于" + x)
console.log("高等于" + y)
};
};
};
复制代码
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
Archiver
|
手机版
|
小黑屋
|
Project1游戏制作
Powered by
Discuz!
X5.0
© 2001-2026
Discuz! Team
.
在本版发帖
返回顶部
快速回复
返回顶部
返回列表