加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
XP的,以前自己写的一个脚本,VA脚本不会...窗口类的新特性无法理解
class Scene_My def main #生成窗口 @my_window = Window_My.new #执行过渡 Graphics.transition # 在这里创建一个Sprite @sp_enemy=Sprite.new #这里创建一个Sprite 用途是显示图形 enemy=敌人 @sp_enemy.x=95 @sp_enemy.y=5 #主循环 loop do #刷新游戏画面 Graphics.update #刷新输入信息 Input.update #刷新画面 update #如果画面切换就中断循环 if $scene != self break end end #准备过渡 Graphics.freeze #释放窗口 @my_window.dispose #释放精灵 @sp_enemy.dispose end def update #刷新窗口 @my_window.update #按下B键(ESC)的情况下 if Input.trigger?(Input::B) #演奏取消SE $game_system.se_play($data_system.cancel_se) #切换的地图画面 $scene = Scene_Map.new return end #按下C键(确定建)的情况 if Input.trigger?(Input::C) #根据窗口光标位置分歧 case @my_window.index when 0 @sp_enemy.bitmap = Bitmap.new("Graphics/Fogs/BJ1") #end when 1 @sp_enemy.bitmap= Bitmap.new("Graphics/Battlers/076-Devil02") #end when 2 @sp_enemy.bitmap = Bitmap.new("Graphics/Battlers/077-Devil03") #end end #end return end end end
class Scene_My
def main
#生成窗口
@my_window = Window_My.new
#执行过渡
Graphics.transition
# 在这里创建一个Sprite
@sp_enemy=Sprite.new #这里创建一个Sprite 用途是显示图形 enemy=敌人
@sp_enemy.x=95
@sp_enemy.y=5
#主循环
loop do
#刷新游戏画面
Graphics.update
#刷新输入信息
Input.update
#刷新画面
update
#如果画面切换就中断循环
if $scene != self
break
end
end
#准备过渡
Graphics.freeze
#释放窗口
@my_window.dispose
#释放精灵
@sp_enemy.dispose
end
def update
#刷新窗口
@my_window.update
#按下B键(ESC)的情况下
if Input.trigger?(Input::B)
#演奏取消SE
$game_system.se_play($data_system.cancel_se)
#切换的地图画面
$scene = Scene_Map.new
return
end
#按下C键(确定建)的情况
if Input.trigger?(Input::C)
#根据窗口光标位置分歧
case @my_window.index
when 0
@sp_enemy.bitmap = Bitmap.new("Graphics/Fogs/BJ1")
#end
when 1
@sp_enemy.bitmap= Bitmap.new("Graphics/Battlers/076-Devil02")
#end
when 2
@sp_enemy.bitmap = Bitmap.new("Graphics/Battlers/077-Devil03")
#end
end
#end
return
end
end
end
class Window_My < Window_Selectable def initialize super(0,0,90,640) #(x,y,w,h) self.contents = Bitmap.new(width - 32,height - 32) @arr=["第1页","第2页","第3页"] @item_max = @arr.size #item(项目)max(最大数)=项目总数 self.index = 0 #光标初始位置,如果为-1不显示 refresh end def refresh self.contents.clear for index in [email]0...@arr.size[/email] rect = Rect.new(0,32*index,self.contents.width-8,22) self.contents.fill_rect(rect,Color.new(255,255,255,0)) self.contents.draw_text(0,32*index,128,32,"#{@arr[index]}") #(x,y,w,h,"") end end end
class Window_My < Window_Selectable
def initialize
super(0,0,90,640) #(x,y,w,h)
self.contents = Bitmap.new(width - 32,height - 32)
@arr=["第1页","第2页","第3页"]
@item_max = @arr.size #item(项目)max(最大数)=项目总数
self.index = 0 #光标初始位置,如果为-1不显示
refresh
end
def refresh
self.contents.clear
for index in [email]0...@arr.size[/email]
rect = Rect.new(0,32*index,self.contents.width-8,22)
self.contents.fill_rect(rect,Color.new(255,255,255,0))
self.contents.draw_text(0,32*index,128,32,"#{@arr[index]}") #(x,y,w,h,"")
end
end
end
其实就是调用后可以现实一个窗口,这个窗口能分页现实图片啦 |