| 赞 | 87 |
| VIP | |
| 好人卡 | |
| 积分 | 136 |
| 经验 | |
| 最后登录 | 2021-1-24 |
| 在线时间 | 2753 小时 |
- 梦石
- 0
- 星屑
- 13562
- 在线时间
- 2753 小时
- 注册时间
- 2014-10-4
- 回帖
- 705

|
发表于 2020-3-2 15:48:36
|
显示全部楼层
本帖最后由 SixRC 于 2020-3-3 00:33 编辑
是有问题的
原因是刷新的需要
我的脚本你改成
[pre lang="ruby"]class << Graphics
# 渐变修正 用于 103J
FXTN_dll = Win32API.new("kernel32","GetModuleHandleA","p","l").call("RGSS103J")
gdi = Win32API.new("kernel32","GetModuleHandleA","p","l").call("gdi32")
delo = Win32API.new("kernel32","GetProcAddress","lp","l").call(gdi, "DeleteObject")
# pass width, height
FXTN_rep = ExtraFunc.parse %Q{
mov edi,#{FXTN_dll}
mov esi,[edi + 0x12B6C4]
mov esi,[esi + 0x144]
push dword [esi + 0x2C]
mov eax, #{delo}
call eax
mov dword[esi + 0x20], 0x20
mov ecx,esi
push dword[esp + 8]
push dword[esp + 8]
lea eax,[edi+0x86540]
call eax
mov edi,[edi + 0x12B6C4]
mov edi,[edi + 0x148]
mov eax,[esp + 4]
mov [edi + 0x10],eax
mov [edi + 0xC8],eax
mov eax,[esp + 8]
mov [edi + 0x14],eax
mov [edi + 0xCC],eax
ret 8
}
# 修正为 w * h 可以重复调用
def fix_trans(width, height)
ExtraFunc.run FXTN_rep, width, height
end
end[/pre]
就行了 按F12 也不会出问题
以及 你的脚本页★Game_Resolution 也有同样的问题 没有考虑到 F12
假如按F12 窗口会不断变大
32行开始改成
[pre lang="ruby"] addw = wds[2] - wds[0]
addh = wds[3] - wds[1]
if addw >= GAME_WINDOW::INT_WIDTH
addw -= GAME_WINDOW::INT_WIDTH
addh -= GAME_WINDOW::INT_HEIGHT
x, y = wds[0], wds[1]
else
addw -= 640
addh -= 480
x = wds[0] - (GAME_WINDOW::INT_WIDTH - 640) / 2
y = wds[1] - (GAME_WINDOW::INT_HEIGHT - 480) / 2
end
swp.call(hWnd, 0, x, y, GAME_WINDOW::INT_WIDTH + addw, GAME_WINDOW::INT_HEIGHT+addh,0x20) [/pre]
就行了 |
评分
-
查看全部评分
|