赞 | 1 |
VIP | 246 |
好人卡 | 87 |
积分 | 1 |
经验 | 34142 |
最后登录 | 2015-1-15 |
在线时间 | 323 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 323 小时
- 注册时间
- 2010-8-21
- 帖子
- 666
|
我记得柳柳说了个RMXP的bug(不可避免),大家测试游戏的时候都是
按F12吧,当然,但可直接找到根目录运行Game.exe测试!
可以边测试边画地图(也可修改脚本,但无效(没试过,估计的,因为脚本在运行
游戏时被扔到内存中了,除非退出,不然看不到效果)),测试边修改事件....
沙漠点灰于2010-12-24 20:55补充以下内容:
还有分辨率的..$myfirst = 'myGod'
addw = 0
addh = 0
宽度=800
高度=600
游戏ini名=".\\Game.ini"
val = "\0"*256
gps = Win32API.new('kernel32', 'GetPrivateProfileString','pppplp', 'l')
gps.call("Game", "Title", "", val, 256, 游戏ini名)
val.delete!("\0")
title = val
fw = Win32API.new('user32', 'FindWindow', 'pp', 'i')
hWnd = fw.call("RGSS Player", title)
swp = Win32API.new('user32', 'SetWindowPos', 'lliiiii', 'i')
pointwds = [0,0,0,0].pack('llll')
pointcet = [0, 0].pack('ll')
wdsrect = Win32API.new('user32.dll', 'GetWindowRect', 'lp', 'l')
client_screen = Win32API.new("user32", "ClientToScreen", 'ip', 'i')
wdsrect.call(hWnd,pointwds)
client_screen.call(hWnd, pointcet)
wds = pointwds.unpack('llll')
cet = pointcet.unpack('ll')
addw = wds[2] - wds[0] - 640
addh = wds[3] - wds[1] - 480
x = wds[0] - (宽度 - 640) / 2
y = wds[1] - (高度 - 480) / 2
if addw > 160
addw -= 宽度 - 640
addh -= 高度 - 480
x += (宽度 - 640)/2
y += (宽度 - 640)/2
end
#上面几行是我自己加的,不然按F12会加大一点,我连按几下,窗口就"2000+ p"了.
swp.call(hWnd, 0, x, y, 宽度 + addw, 高度 + addh, 0x20)
$myfirst = 'myGod'
addw = 0
addh = 0
宽度=800
高度=600
游戏ini名=".\\Game.ini"
val = "\0"*256
gps = Win32API.new('kernel32', 'GetPrivateProfileString','pppplp', 'l')
gps.call("Game", "Title", "", val, 256, 游戏ini名)
val.delete!("\0")
title = val
fw = Win32API.new('user32', 'FindWindow', 'pp', 'i')
hWnd = fw.call("RGSS Player", title)
swp = Win32API.new('user32', 'SetWindowPos', 'lliiiii', 'i')
pointwds = [0,0,0,0].pack('llll')
pointcet = [0, 0].pack('ll')
wdsrect = Win32API.new('user32.dll', 'GetWindowRect', 'lp', 'l')
client_screen = Win32API.new("user32", "ClientToScreen", 'ip', 'i')
wdsrect.call(hWnd,pointwds)
client_screen.call(hWnd, pointcet)
wds = pointwds.unpack('llll')
cet = pointcet.unpack('ll')
addw = wds[2] - wds[0] - 640
addh = wds[3] - wds[1] - 480
x = wds[0] - (宽度 - 640) / 2
y = wds[1] - (高度 - 480) / 2
if addw > 160
addw -= 宽度 - 640
addh -= 高度 - 480
x += (宽度 - 640)/2
y += (宽度 - 640)/2
end
#上面几行是我自己加的,不然按F12会加大一点,我连按几下,窗口就"2000+ p"了.
swp.call(hWnd, 0, x, y, 宽度 + addw, 高度 + addh, 0x20)
|
|