#==============================================================================
# ■ Window_Command
#------------------------------------------------------------------------------
# 一般的命令选择行窗口。
#==============================================================================
class Window_Command < Window_Selectable
attr_reader :commands # 帮助窗口
def initialize(width, commands,h=0)
# 由命令的个数计算出窗口的高
h = commands.size * 32 + 32 if h == 0
super(0, 0, width, h)
@item_max = commands.size
@commands = commands
self.contents = Bitmap.new(width - 32, @item_max * 32)
refresh
self.index = 0
end
end
class Scene_Wawa
def main
@lv = []
@command_window = Window_Command.new(172,["新图层"],480)
@file_list = Dir.glob("Graphics/Characters/maker/*")
@command_window_1 = Window_Command.new(640-173,@file_list,480)
@command_window_1.x = 173
@command_window_1.active = false
@index = 0
# 停止演奏 ME、BGS
Audio.me_stop
Audio.bgs_stop
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面被切换就中断循环
if $scene != self
break
end
end
# 装备过渡
Graphics.freeze
# 释放命令窗口
@command_window.dispose
@command_window_1.dispose
# @command_window_2.dispose
end
def update
@command_window.update
@command_window_1.update
if Input.trigger?(Input::C)
case @index
when 0
if @command_window.commands[@command_window.index] == "新图层"
@lv.push(Sprite.new)
@lv[@lv.size-1].z = @lv.size+999
@lv[@lv.size-1].y = 480-192-32
@lv[@lv.size-1].bitmap = Bitmap.new(@file_list[0])
a = @command_window.commands
@command_window.dispose
@command_window = Window_Command.new(172,["层" + a.size.to_s] + a,480)
@command_window.index = 0
# p "1"
else
@index = 1
@command_window.active = false
@command_window_1.active = true
end
when 1
# p "2"
@lv[@command_window.index].bitmap = Bitmap.new(@file_list[@command_window_1.index])
@index = 0
@command_window_1.active = false
@command_window.active = true
end
end
if Input.trigger?(Input::B)
case @index
when 0
if @command_window.commands[@command_window.index] == "新图层"
p "error"
else
@command_window.commands.delete_at(@command_window.index)
@lv[@command_window.index].dispose
@lv.delete_at(@command_window.index)
a = []
for i in @command_window.commands
a.push(i)
end
@command_window.dispose
@command_window = Window_Command.new(172,a,480)
@lv = ""
a = []
for i in @lv
a.push(i)
end
@lv = a
end
when 1
@index = 0
@command_window_1.active = false
@command_window.active = true
end
end
if Input.trigger?(Input::A)
$scene = Scene_Map.new
end
if Input.trigger?(Input::Z)
a = Bitmap.new(128,192)
for i in 0...@lv.size
a.blt(0, 0, @lv[i].bitmap, Rect.new(0,0,128,192))
end
$nn = rand(1561)+1852
a.save2png("Graphics/Characters/" + $nn.to_s + ".png")
end
end
end