| 赞 | 0 |
| VIP | |
| 好人卡 | |
| 积分 | 1 |
| 经验 | |
| 最后登录 | 2017-10-25 |
| 在线时间 | 84 小时 |
- 梦石
- 0
- 星屑
- 55
- 在线时间
- 84 小时
- 注册时间
- 2009-1-30
- 回帖
- 142
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
XP的,以前自己写的一个脚本,VA脚本不会...窗口类的新特性无法理解
[pre lang="ruby" line="1" file="Scene_My"]
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
[/pre]
[pre lang="ruby" line="1" file="Windon_My"]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 0...@arr.size
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
[/pre]
其实就是调用后可以现实一个窗口,这个窗口能分页现实图片啦 |
|