Project1
标题:
CG保存为墙纸
[打印本页]
作者:
dbshy
时间:
2008-10-3 00:05
标题:
CG保存为墙纸
某天,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
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1