Project1
标题:
关于退出游戏时执行一些命令
[打印本页]
作者:
至高无上
时间:
2012-2-25 22:54
标题:
关于退出游戏时执行一些命令
我希望能实现以下的这些效果:
在玩家按下游戏窗口的关闭按钮或者按下CTRL+F4的时候,可以像GALGAME一样,出现一个窗口并询问是否真的要退出。 dsu_plus_rewardpost_czw
作者:
iisnow
时间:
2012-2-26 00:11
搬来的答案:
if true #true为使用,false为不使用,可以使用开关
def exit(i=0)
name="窗口标题" #提示标题,可不填
$scene = nil if options("是否要退出游戏?",name)
end
end
def options(text,name="")
@ask1 = [text,name]
@ctext = Array.new
@m2w = Win32API.new('kernel32', 'MultiByteToWideChar', 'ilpipi', 'i')
@w2m = Win32API.new('kernel32', 'WideCharToMultiByte', 'ilpipipp', 'i')
@msgbox = Win32API.new('user32', 'MessageBox', %w(p p p i), 'i')
@wsm = Proc.new{|i|
len = @m2w.call(65001, 0, i, -1, nil, 0)
buf = "\0\0" * len
@m2w.call(65001, 0, i, -1, buf, buf.size/2)
len = @w2m.call(0, 0, buf, -1, nil, 0, nil, nil)
@ctext.push "\0" * len
@w2m.call(0, 0, buf, -1, @ctext.last, @ctext.last.size, nil, nil)
}
[@ask1].flatten.each{|i| @wsm.call(i)}
def self.warning
1.times{|j| j == 0 ?((yield @ctext[0], @ctext[1]) == 1 ? (return true) : (return false)):( return false)}
end
return self.warning{|a,b| @msgbox.call(0, a, b, 1) }
end
复制代码
脚本使用了API,不适合新人学习,也就不讲解了,只说说
exit这个方法,是可以重定义的,并且注意它带有一个参数
作者:
至高无上
时间:
2012-3-4 10:54
iisnow 发表于 2012-2-26 00:11
搬来的答案:脚本使用了API,不适合新人学习,也就不讲解了,只说说
exit这个方法,是可以重定义的,并且注 ...
虽然很好,不过有的时候配上游戏的气氛,这样的话未免有点尴尬。很想显示一张半身像在旁边
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1