#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
# ————————————————————————————————————
# 本脚本来自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, 800, 600)
if(ok == 0)
p "サイズ変更失敗"
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
关于补丁程序的执行:
首先判断当然用户分辨率,如果高于1024,则窗口启动;
如果当前分辨率等于1024,则全屏启动;
小于1024,比如800*600的则更改分辨率到1024,并全屏启动(此时alt+enter无效)
分辨率大于1024*768的情况下alt+enter有效
xp、vx一样有效
begin
patch = Win32API.new("1024patch.dll", "start", "p", "i")
rescue RuntimeError
raise "由于内存不足或者其他原因导致游戏运行失败。"
end
if (ret = patch.call("Game")) < 0
raise sprintf("应用1024×768补丁失败。#error code: %d", ret)
end
以下引用灼眼的夏娜于2008-6-18 17:14:07的发言:
class Spriteset_Map
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
def initialize
# 生成显示端口
@viewport1 = Viewport.new(0, 0, 1000, 600)
@viewport2 = Viewport.new(0, 0, 1000, 600)
@viewport3 = Viewport.new(0, 0, 1000, 600)
以下引用lovepea于2008-6-25 21:17:01的发言:
没有才要尝试嘛........
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |