Project1

标题: 边修改脚本和事件边测试游戏 [打印本页]

作者: qq113694569    时间: 2010-12-24 19:30
标题: 边修改脚本和事件边测试游戏
本帖最后由 qq113694569 于 2010-12-25 05:56 编辑

边修改脚本和事件边测试游戏   可以吗?
顺便求个分辨率脚本  800*600 或者1024*768
作者: Wind2010    时间: 2010-12-24 19:35
边修改边测试有一个方法的……
切换到事件层,光标指向一个事件,按测试,弹出对话框,快速按两下Enter……
RM弹出事件编辑窗口,开始测试
把事件编辑窗口关掉就可以了XD
作者: qq113694569    时间: 2010-12-24 20:18
那脚本呢?
作者: 沙漠点灰    时间: 2010-12-24 20:33
我记得柳柳说了个RMXP的bug(不可避免),大家测试游戏的时候都是
按F12吧,当然,但可直接找到根目录运行Game.exe测试!
可以边测试边画地图(也可修改脚本,但无效(没试过,估计的,因为脚本在运行
游戏时被扔到内存中了,除非退出,不然看不到效果)),测试边修改事件....


沙漠点灰于2010-12-24 20:55补充以下内容:
还有分辨率的..
代码复制
  1. $myfirst = 'myGod'  
  2. addw = 0
  3. addh = 0
  4.   宽度=800
  5.   高度=600
  6.   游戏ini名=".\\Game.ini"
  7.   val = "\0"*256
  8.   gps = Win32API.new('kernel32', 'GetPrivateProfileString','pppplp', 'l')
  9.   gps.call("Game", "Title", "", val, 256, 游戏ini名)
  10.   val.delete!("\0")
  11.   title = val
  12.   fw = Win32API.new('user32', 'FindWindow', 'pp', 'i')
  13.   hWnd = fw.call("RGSS Player", title)
  14.   swp = Win32API.new('user32', 'SetWindowPos', 'lliiiii', 'i')
  15.   pointwds = [0,0,0,0].pack('llll')
  16.   pointcet = [0, 0].pack('ll')
  17.   wdsrect = Win32API.new('user32.dll', 'GetWindowRect', 'lp', 'l')
  18.   client_screen = Win32API.new("user32", "ClientToScreen", 'ip', 'i')
  19.   wdsrect.call(hWnd,pointwds)
  20.   client_screen.call(hWnd, pointcet)
  21.   wds = pointwds.unpack('llll')
  22.   cet = pointcet.unpack('ll')
  23.   addw =  wds[2] - wds[0] - 640
  24.   addh =  wds[3] - wds[1] - 480
  25.   x = wds[0] - (宽度 - 640) / 2
  26.   y = wds[1] - (高度 - 480) / 2
  27.   if addw > 160
  28.     addw -= 宽度 - 640
  29.     addh -= 高度 - 480
  30.     x += (宽度 - 640)/2
  31.     y += (宽度 - 640)/2
  32.   end
  33. #上面几行是我自己加的,不然按F12会加大一点,我连按几下,窗口就"2000+ p"了.
  34. swp.call(hWnd, 0, x, y, 宽度 + addw, 高度 + addh, 0x20)

作者: qq113694569    时间: 2010-12-25 05:56
谢了  我拿走脚本了




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