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

Project1

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

[已经过期] 关于全屏分辨率问题,求DLL限制的最大分辨率修改办法?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
366 小时
注册时间
2009-7-14
帖子
124
跳转到指定楼层
1
发表于 2013-3-13 15:27:39 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 viva0072008 于 2013-3-13 16:52 编辑

现在绝大部分人的显示器多是16:10左右的宽屏屏幕比例,但是RM默认设置的分辨率宽度最大是640,
用了技术区那个修改的DLL,我在脚本里设置成672*416分辨率,不全屏的时候倒是很接近16:10的比例,
但全屏之后画面没有变很大,而且还是比例还是拉伸了,没有填充到整个画面。

因为那个DLL好像是限制了最大分辨率是1024*768,我在想会不会全屏的时候是最大分辨率是整个屏幕,
而我设置了672*416,系统就按最大分辨率:我设置的分辨率比例显示呢,那如果在DLL里面设置最大分辨率跟我设置的分辨率一样,
那么全屏的时候就能填充到整个画面?但我不知道怎么修改那个DLL文件……

原帖:http://rpg.blue/forum.php?mod=viewthread&tid=216674

Lv5.捕梦者

梦石
0
星屑
22012
在线时间
8573 小时
注册时间
2011-12-31
帖子
3362
2
发表于 2013-3-13 15:37:07 | 只看该作者
本帖最后由 tseyik 于 2013-3-13 15:51 编辑

Basic Window Resizer v1.1
百分百是不可能(因為有32点倍数問題)

RUBY 代码复制
  1. #Basic Window Resizer v1.1
  2.     #----------#
  3.     #Features: Allows you to resize the window to whatever size you like! (This is not
  4.     #            like Graphics.resize, this will scale to fit)
  5.     #
  6.     #Usage:   Script calls:
  7.     #           Window_Resize.r(width, height)     - Self-explanatory
  8.     #           Window_Resize.f                    - fits the game window to monitor size
  9.     #           Window_Resize.full                 - switches to full screen unless already fullscreened
  10.     #           Window_Resize.window               - same as full but opposite
  11.     #
  12.     #No Customization
  13.     #
  14.     #----------#
  15.     #-- Script by: V.M of D.T
  16.     #--- Free to use in any project with credit given
  17.  
  18.     SWPO = Win32API.new 'user32', 'SetWindowPos', ['l','i','i','i','i','i','p'], 'i'
  19.     WINX = Win32API.new 'user32', 'FindWindowEx', ['l','l','p','p'], 'i'
  20.     SMET = Win32API.new 'user32', 'GetSystemMetrics', ['i'], 'i'
  21.  
  22.     module Window_Resize
  23.       def self.r(width, height)
  24.         resw = SMET.call(0)
  25.         resh = SMET.call(1)
  26.         window_loc = WINX.call(0,0,"RGSS Player",0)
  27.         width += (SMET.call(5) + SMET.call(45)) * 2
  28.         height += (SMET.call(6) + SMET.call(45)) * 2 + SMET.call(4)
  29.         x = (resw - width) / 2; y = (resh - height) / 2
  30.         y = 0 if y < 0;x = 0 if x < 0
  31.         SWPO.call(window_loc,0,x,y,width,height,0)
  32.       end
  33.       def self.f
  34.         resw = SMET.call(0)
  35.         resh = SMET.call(1)
  36.         window_loc = WINX.call(0,0,"RGSS Player",0)
  37.         SWPO.call(window_loc,0,0,0,resw,resh,0)
  38.       end
  39.       def self.full
  40.         resw = SMET.call(0)
  41.         return unless resw > 640
  42.         toggle
  43.       end
  44.       def self.window
  45.         resw = SMET.call(0)
  46.         return unless resw < 640
  47.         toggle
  48.       end
  49.       def self.toggle
  50.         keybd = Win32API.new 'user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v'
  51.         keybd.call 0xA4, 0, 0, 0
  52.         keybd.call 13, 0, 0, 0
  53.         keybd.call 13, 0, 2, 0
  54.         keybd.call 0xA4, 0, 2, 0
  55.       end
  56.     end
  57. #Basic Window Resizer v1.1
  58. #----------#
  59. #Features: Allows you to resize the window to whatever size you like! (This is not
  60. #            like Graphics.resize, this will scale to fit)
  61. #
  62. #Usage:   Script calls:
  63. #           Window_Resize.r(width, height)     - Self-explanatory
  64. #           Window_Resize.f                    - fits the game window to monitor size
  65. #           Window_Resize.full                 - switches to full screen unless already fullscreened
  66. #           Window_Resize.window               - same as full but opposite
  67. #
  68. #No Customization
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
366 小时
注册时间
2009-7-14
帖子
124
3
 楼主| 发表于 2013-3-13 16:16:56 | 只看该作者
本帖最后由 viva0072008 于 2013-3-13 16:31 编辑
tseyik 发表于 2013-3-13 15:37
Basic Window Resizer v1.1
百分百是不可能(因為有32点倍数問題)


是个不错的脚本,可以有更多选择,不客气收下了,非常感谢。
不过我想设置的分辨率是672*416,用系统的全屏之后上下无论如何还是会留有黑边,这脚本貌似无法解决,如果改成480的确会占满屏幕,果然还是跟DLL限制的最大分辨率有关,所以把DLL的最大分辨率限制修改成跟我设置的一样,都是672*416,那全屏的时候应该就会填充到整个画面,求修改方法。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 04:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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