Project1

标题: 如何调整xp游戏窗口的大小??? [打印本页]

作者: wdcccyyy    时间: 2012-5-21 13:30
标题: 如何调整xp游戏窗口的大小???
alt+enter可以使之全屏~但我不想窗口这么大~可以适当的调整吗?
作者: dabojun    时间: 2012-5-21 15:27
请在main前插入这段脚本,脚本名称为:窗口大小

# ————————————————————————————————————
# 本脚本来自www.66rpg.com,转载请保留此信息
# ————————————————————————————————————

#ウィンドウサイズの変更(v1.00)

class Win32API
  GAME_INI_FILE = ".\\Game.ini"
  
  def Win32API.GetPrivateProfileString(section, key)
    val = "\0"*256
    gps = Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l')
    gps.call(section, key, "", val, 256, GAME_INI_FILE)
    val.delete!("\0")
    return val
  end

  def Win32API.FindWindow(class_name, title)
    fw = Win32API.new('user32', 'FindWindow', %(p, p), 'i')
    hWnd = fw.call(class_name, title)
    return hWnd
  end

  HWND_TOP     = 0
  HWND_TOPMOST = -1
  SWP_NOMOVE   = 2
  
  def Win32API.SetWindowPos(hWnd, w, h)
    swp = Win32API.new('user32', 'SetWindowPos', %(l, l, i, i, i, i, i), 'i')
    ok = swp.call(hWnd, HWND_TOP, 0, 0, w, h, SWP_NOMOVE)
    # 下の行を有効にすると、常に前面に表示されるウィンドウになる。
    #ok = swp.call(hWnd, HWND_TOPMOST, 0, 0, w, h, SWP_NOMOVE)
    return ok
  end
end

title =  Win32API.GetPrivateProfileString("Game", "Title")
hWnd = Win32API.FindWindow("RGSS Player", title)

# 幅320、高さ480に変更
ok = Win32API.SetWindowPos(hWnd, 320, 256)
if(ok == 0)
  p "サイズ変更失敗"
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================

注意    ok = Win32API.SetWindowPos(hWnd, 320, 256)
数字部分可以更改窗口大小
  {:2_285:}
作者: wdcccyyy    时间: 2012-5-21 21:22
用起来怪怪的哦!有画面部分没有大小改变,画面变大后多出许多黑色的地方!
作者: dabojun    时间: 2012-5-23 17:22
本帖最后由 dabojun 于 2012-5-23 18:23 编辑
wdcccyyy 发表于 2012-5-21 21:22
用起来怪怪的哦!有画面部分没有大小改变,画面变大后多出许多黑色的地方! ...


这个脚本只是截取了画面的一部分,所以要提前在地图上设置好通行,
画面全屏、多出黑色估计是和viewport(视口)不匹配,视口原尺寸为640*480@
你要的不就是调整窗口大小吗? 又不涉及分辨率?
如果是改分辨率的话,你应该看下这个帖子:

参考:http://rpg.blue/forum.php?mod=viewthread&tid=181985


请注意这段话,这仅仅是修改了分辨率,很多视口依然是
640*480,脚本中找到 ********* = Viewport.new(0,0,***,***)的
Lz自行修改***,***数值

应该能修正黑屏问题。






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