赞 | 0 |
VIP | 136 |
好人卡 | 4 |
积分 | 1 |
经验 | 2058 |
最后登录 | 2013-1-17 |
在线时间 | 142 小时 |
Lv1.梦旅人 辉瑞中国首席研究员<
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 142 小时
- 注册时间
- 2008-1-18
- 帖子
- 2129
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
某天,RTS编的卡住了,就跑到论坛上来看看,
就看到提问区有人问到这个东西
完全没技术含量的东西,调试的时候犯了个很无语的错误,感谢IAMI和一路一风程的指教
用法是在是否截图的判断语句下加
Screen::shot
CWP::change
记得把SCREENSHOT.DLL放到游戏目录下,另外在API调用那里自己改图片地址
突然发现有个BUG,无法获得图片地址,大家可以用 Dir.getwd OR Dir.pwd
OR GetModuleFileName 来获得地址,我就懒得加了
- =begin
- 保存CG为WALLPAPER BY 水蓝
-
- 用法是在是否截图的判断语句下加
- Screen::shot
- CWP::change
- 记得把SCREENSHOT.DLL放到游戏目录下
- =end
- module CWP
- SPI_SETDESKWALLPAPER = 20
- SPIF_UPDATEINIFILE = 0x1
- def self.change
-
- $spi = Win32API.new('user32', 'SystemParametersInfo','llpl', 'l')
- $spi.call(SPI_SETDESKWALLPAPER, 0, 'D:\Project88\Graphics\Pictures\screenshot.bmp', SPIF_UPDATEINIFILE)
-
- end
- end
- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #============================================================================== #
- # Screenshot V2
- #
- # Screenshot Script v1 & screenshot.dll v1 created by: Andreas21
- # Screenshot Script v2 created/edit by: cybersam
- # the autor is found on a german board...
- # the comments are added by me...
- # since the autor didnt want to add any comment...
- # so thats it from here...
- # have fund with it... ^-^
- #
- # oh yea.. the needed command line is found in "Scene_Map" in "def update"
- #
- #===============================================================================
- module Screen
- @screen = Win32API.new 'screenshot', 'Screenshot', %w(l l l l p l l), ''
- @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
- @findwindow = Win32API.new 'user32', 'FindWindowA', %w(p p), 'l'
- module_function
- #-----------------------------------------------------------------------------
- # here comes the stuff...
- # i add here the stuff for automatic change of the number for the screenshot
- # so it wont overrite the old one...
- # if you want to change so stuff change them in this line below
- # or you can change them in your command line... like
- # Screen::shot("screenshot", 2)
- # this change the name and the type of the screenshot
- # (0 = bmp, 1 = jpg and 2 = png)
- # ----------------------------------------------------------------------------
- def shot(file = "screenshot", typ = 0)
- # to add the right extension...
- if typ == 0
- typname = ".bmp"
- elsif typ == 1
- typname = ".jpg"
- elsif typ == 2
- typname = ".png"
- end
- file_index = 0
- dir = "Graphics/Pictures/"
- # make the filename....
- file_name = dir + file.to_s + typname.to_s
- # make the screenshot.... Attention dont change anything from here on....
- @screen.call(0,0,640,480,file_name,handel,typ)
- end
- # find the game window...
- def handel
- game_name = "\0" * 256
- @readini.call('Game','Title','',game_name,255,".\\Game.ini")
- game_name.delete!("\0")
- return @findwindow.call('RGSS Player',game_name)
- end
- end
复制代码
|
|