赞 | 1 |
VIP | 0 |
好人卡 | 1 |
积分 | 1 |
经验 | 14258 |
最后登录 | 2020-6-8 |
在线时间 | 342 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 56
- 在线时间
- 342 小时
- 注册时间
- 2011-10-29
- 帖子
- 368
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
可以使画面变成全屏
而且比系统原来的全屏好一些
直接插入main前面- [quote] # 全屏脚本by yayapipi
-
- # 解释 :
- #这个脚本比原来的全屏模式更好
-
- # 使用方法 :
- # Graphics.fullscreen? : 回到全屏
- # Graphics.fullscreen_mode : 进入全屏.
- # Graphics.windowed_mode : 窗口模式
- # Graphics.toggle_fullscreen : 从一个切换到其他
- class << Graphics
- fullscreen_start = false
-
- FindWindow = Win32API.new('user32', 'FindWindow' , 'pp' , 'l')
- CreateWindowEx = Win32API.new('user32', 'CreateWindowEx' , 'lpplllllllll', 'l')
- UpdateWindow = Win32API.new('user32', 'UpdateWindow' , 'l' , 'l')
- ShowWindow = Win32API.new('user32', 'ShowWindow' , 'll' , 'l')
- SetWindowLong = Win32API.new('user32', 'SetWindowLong' , 'lll' , 'l')
- SetWindowPos = Win32API.new('user32', 'SetWindowPos' , 'lllllll' , 'l')
- GetSystemMetrics = Win32API.new('user32', 'GetSystemMetrics', 'l' , 'l')
- GetDC = Win32API.new('user32', 'GetDC' , 'l' , 'l')
- FillRect = Win32API.new('user32', 'FillRect' , 'lpl' , 'l')
- CreateSolidBrush = Win32API.new('gdi32' , 'CreateSolidBrush', 'l' , 'l')
- if first_start = !method_defined?(:zeus81_fullscreen_update)
- @@MainWindow = FindWindow.call('RGSS Player', 0)
- @@BackWindow = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
- @@FillRectArgs = [GetDC.call(@@BackWindow), [0,0,0xFFFF,0xFFFF].pack('L4'), CreateSolidBrush.call(0)]
- @@fullscreen = false
- alias zeus81_fullscreen_resize_screen resize_screen
- alias zeus81_fullscreen_update update
- end
- def update
- zeus81_fullscreen_update
- toggle_fullscreen if Input.trigger?(Input::F5)
- end
- def resize_screen(width, height)
- zeus81_fullscreen_resize_screen(width, height)
- fullscreen_mode if fullscreen?
- end
- def fullscreen?() @@fullscreen end
- def toggle_fullscreen() fullscreen? ? windowed_mode : fullscreen_mode end
- def fullscreen_mode
- client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
- w, h = client_w, client_w * height / width
- h, w = client_h, client_h * width / height if h > client_h
- ShowWindow.call(@@BackWindow, 3)
- UpdateWindow.call(@@BackWindow)
- FillRect.call(*@@FillRectArgs)
- SetWindowPos.call(@@MainWindow, -1, (client_w-w)/2, (client_h-h)/2, w, h, 0)
- SetWindowLong.call(@@MainWindow, -16, 0x14000000)
- @@fullscreen = true
- end
- def windowed_mode
- client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
- w = width + GetSystemMetrics.call(5)*2 + 4
- h = height + GetSystemMetrics.call(6)*2 + 4 + GetSystemMetrics.call(4)
- ShowWindow.call(@@BackWindow, 0)
- SetWindowPos.call(@@MainWindow, -2, (client_w-w)/2, (client_h-h)/2, w, h, 0)
- SetWindowLong.call(@@MainWindow, -16, 0x14CA0000)
- @@fullscreen = false
- end
- Graphics.fullscreen_mode if first_start and fullscreen_start
- end[/quote]
复制代码 使用方法在脚本里有注明 |
评分
-
查看全部评分
|