Project1
标题:
按ESC或ENTER清除窗口的问题
[打印本页]
作者:
qq634488405
时间:
2012-11-15 01:37
标题:
按ESC或ENTER清除窗口的问题
本帖最后由 qq634488405 于 2012-11-15 15:02 编辑
def main
@screen = Sprite.new
look = Window_Base.new((544-492)/2,(416-288)/2,492,288)
look.contents = Bitmap.new(look.width - 32, look.height - 32)
Graphics.transition
loop do
Graphics.update
Input.update
look.contents.draw_text(0,0,460,32,@name+"看起来约"+@age+"0多岁")
update_command
if $scene != self
break
end
end
Graphics.freeze
Input.update
look.dispose
@screen.dispose
end
def update_command
# 按下 B 键的情况下
if Input.trigger?(:B)
look.dispose
@screen.dispose
$scene = Scene_Map.new
end
# 按下 C 键的情况下
if Input.trigger?(:C)
look.dispose
@screen.dispose
$scene = Scene_Map.new
end
end
end
复制代码
脚本是那样的,运行后创建了窗口,除了按ESC几次弹出菜单才会清除外,按ENTER没反应。求助如何修改才能按下ESC或ENTER后立刻清除创建的窗口,先谢谢各位
作者:
沙漠点灰
时间:
2012-11-15 12:55
本帖最后由 沙漠点灰 于 2012-11-15 12:57 编辑
没怎么用过VA,但是lz这个明显是xp的脚本习惯..应要改的话,如下:
还有,look应该打个@!表示召唤(大雾)
class Scene_Test
def main
@name = "A";@age= "1"
@screen = Sprite.new
@look = Window_Base.new((544-492)/2,(416-288)/2,492,288)
@look.contents = Bitmap.new(@look.width - 32, @look.height - 32)
Graphics.transition
@look.contents.draw_text(0,0,460,32,@name+"看起来约"+@age+"0多岁")
loop do
Graphics.update
Input.update
update_command
break if @exit
end
Graphics.freeze
Input.update
@look.dispose
@screen.dispose
end
def update_command
# 按下 B 键的情况下
if Input.trigger?(:B)
@look
@look.dispose
@screen.dispose
SceneManager.call(Scene_Map)
@exit = true
end
# 按下 C 键的情况下
if Input.trigger?(:C)
@look.dispose
@screen.dispose
SceneManager.call(Scene_Map)
@exit = true
end
end
end
复制代码
事件调用:
SceneManager.call(Scene_Test)
对了
@look.contents.draw_text(0,0,460,32,@name+"看起来约"+@age+"0多岁")
应写在loop外面
作者:
qq634488405
时间:
2012-11-15 15:01
OK了,谢谢,之前学习的时候看的RMXP的帮助和一些别人写的脚本,所以风格有时候会偏向RMXP
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1