赞 | 6 |
VIP | 4 |
好人卡 | 58 |
积分 | 5 |
经验 | 58579 |
最后登录 | 2024-6-30 |
在线时间 | 1478 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 508
- 在线时间
- 1478 小时
- 注册时间
- 2011-9-17
- 帖子
- 1316
|
搬来的答案:- 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这个方法,是可以重定义的,并且注意它带有一个参数 |
|