Project1

标题: 用过窗口放大脚本后,屏幕会闪 [打印本页]

作者: 过焕    时间: 2016-4-24 20:54
标题: 用过窗口放大脚本后,屏幕会闪
本帖最后由 过焕 于 2016-4-24 20:57 编辑

抱歉发错区了,是va的,麻烦版主移一下....抱歉
——————————————————————————
测试游戏和打开游戏时都会默认全屏,但是一直在闪。
删了脚本也没有变回来,重新卸载va和创建新的工程也还是这样。请问该怎么办才好?
代码此贴2楼
https://rpg.blue/thread-373107-1-1.html

RUBY 代码复制
  1. # 按 F5 可以放大缩小窗口,存档记录玩家的偏好
  2. class << Input
  3.   alias_method :update_sion_zrscreen, :update
  4.   def update
  5.     Graphics.switch_room if trigger?(:F5)
  6.     update_sion_zrscreen
  7.   end
  8. end
  9. class << Graphics
  10.   FindWindowEx = Win32API.new('user32', 'FindWindowEx', 'llpp', 'i')
  11.   GetSysMtr    = Win32API.new('user32', 'GetSystemMetrics', 'i', 'i')
  12.   KeybdEvent   = Win32API.new('user32', 'keybd_event', 'iill', 'v')
  13.   SetWindowPos = Win32API.new('user32', 'SetWindowPos', 'liiiiip', 'i')
  14.   HWnd = FindWindowEx.call(0, 0, 'RGSS Player', 0)
  15.   #
  16.   def switch_room
  17.     zoom($game_system.zoom_rate == 2 ? 1 : 2)
  18.   end
  19.   def zoom(rate)
  20.     $game_system.zoom_rate = rate
  21.     __zoom__(width * rate, height * rate)
  22.   end
  23.   def reset
  24.     SetWindowPos.call(HWnd, 0, 0, 0, GetSysMtr.call(0), GetSysMtr.call(1), 0)
  25.   end
  26.   #
  27.   def full_screen
  28.     __toggle__ if GetSysMtr.call(0) > 640
  29.   end
  30.   def windowed
  31.     __toggle__ if GetSysMtr.call(0) < 640
  32.   end
  33. private
  34.   def __zoom__(w, h)
  35.     w += (GetSysMtr.call(5) + GetSysMtr.call(45)) * 2
  36.     h += (GetSysMtr.call(5) + GetSysMtr.call(45)) * 2 + GetSysMtr.call(4)
  37.     x = [0, GetSysMtr.call(0) - w].max / 2
  38.     y = [0, GetSysMtr.call(1) - h].max / 2
  39.     SetWindowPos.call(HWnd, 0, x, y, w, h, 0)
  40.   end
  41.   def __toggle__
  42.     KeybdEvent.call(0xA4, 0, 0, 0)
  43.     KeybdEvent.call(0x0D, 0, 0, 0)
  44.     KeybdEvent.call(0x0D, 0, 2, 0)
  45.     KeybdEvent.call(0xA4, 0, 2, 0)
  46.   end
  47. end
  48.  
  49. class Game_System
  50.   attr_accessor :zoom_rate
  51.   alias_method :on_after_load_sion_zrscreen, :on_after_load
  52.   def on_after_load
  53.     Graphics.zoom(@zoom_rate || 1)
  54.     on_after_load_sion_zrscreen
  55.   end
  56. end

作者: shencao    时间: 2016-4-25 12:04
貌似是显卡问题?切到集显看看(不记得了⋯⋯可以试下)或者更新一下显卡驱动之类的。
作者: Vortur    时间: 2016-4-25 22:51
好像以前见到过类似帖子,但因自己没有这种情况,故没有在意。尝试更新下显卡驱动可?

代替阁下搜索过了:
https://rpg.blue/forum.php?mod=viewthread&tid=324410
“新手礼包”
【点此获取】




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