- 注册时间
- 2004-9-26
- 最后登录
- 2019-4-22
⑤进阶
- 积分
- 541
|

楼主 |
发表于 2006-3-25 15:09:50
|
显示全部楼层
菜鸟写的很垃圾的脚本。。。
高手帮忙找错阿
#==============================================================================
# ■ Scene_Menu
#------------------------------------------------------------------------------
# 处理菜单画面的类。
#==============================================================================
class Scene_Menu
#--------------------------------------------------------------------------
# ● 初始化对像
# menu_index : 命令光标的初期位置
#--------------------------------------------------------------------------
def initialize(menu_index = 0)
@menu_index = menu_index
end
#--------------------------------------------------------------------------
# ● 主处理
#--------------------------------------------------------------------------
def main
@Spriteset = Spriteset_Map.new
@MENU = [Sprite.new]
@MENU[1] = Sprite.new
@MENU[1].bitmap = RPG::Cache.title("YGG_4.png")
@MENU[1].ox = 0
@MENU[1].oy = 0
@MENU[1].x = 0
@MENU[1].y = 0
@MENU[1].opacity = 200
@MENU[1].visible = true
@MENU[2] = Sprite.new
@MENU[2].bitmap = RPG::Cache.title("YGG_5.PNG")
@MENU[2].ox = 0
@MENU[2].oy = 0
@MENU[2].x = 205
@MENU[2].y = 0
@MENU[2].opacity = 200
@MENU[2].visible = true
@MENU[3] = Sprite.new
@MENU[3].bitmap = RPG::Cache.title("Menu_1A.png")
@MENU[3].ox = 0
@MENU[3].oy = 0
@MENU[3].x = 15
@MENU[3].y = 190
@MENU[3].opacity = 240
@MENU[3].visible = true
@MENU[4] = Sprite.new
@MENU[4].bitmap = RPG::Cache.title("Menu_2A.png")
@MENU[4].ox = 0
@MENU[4].oy = 0
@MENU[4].x = 27
@MENU[4].y = 225
@MENU[4].opacity = 240
@MENU[4].visible = false
@MENU[5] = Sprite.new
@MENU[5].bitmap = RPG::Cache.title("Menu_3A.png")
@MENU[5].ox = 0
@MENU[5].oy = 0
@MENU[5].x = 22
@MENU[5].y = 260
@MENU[5].opacity = 240
@MENU[5].visible = false
@MENU[6] = Sprite.new
@MENU[6].bitmap = RPG::Cache.title("Menu_4A.png")
@MENU[6].ox = 0
@MENU[6].oy = 0
@MENU[6].x = 22
@MENU[6].y = 295
@MENU[6].opacity = 240
@MENU[6].visible = false
@MENU[7] = Sprite.new
@MENU[7].bitmap = RPG::Cache.title("Menu_5A.png")
@MENU[7].ox = 0
@MENU[7].oy = 0
@MENU[7].x = 28
@MENU[7].y = 330
@MENU[7].opacity = 240
@MENU[7].visible = false
@MENU[8] = Sprite.new
@MENU[8].bitmap = RPG::Cache.title("Menu_6A.png")
@MENU[8].ox = 0
@MENU[8].oy = 0
@MENU[8].x = 30
@MENU[8].y = 365
@MENU[8].opacity = 240
@MENU[8].visible = false
@MENU[9] = Sprite.new
@MENU[9].bitmap = RPG::Cache.title("Menu_7A.png")
@MENU[9].ox = 0
@MENU[9].oy = 0
@MENU[9].x = 0
@MENU[9].y = 400
@MENU[9].opacity = 240
@MENU[9].visible = false
@MENU[10] = Sprite.new
@MENU[10].bitmap = RPG::Cache.title("Menu_1B.png")
@MENU[10].ox = 0
@MENU[10].oy = 0
@MENU[10].x = 15
@MENU[10].y = 190
@MENU[10].opacity = 240
@MENU[10].visible = false
@MENU[11] = Sprite.new
@MENU[11].bitmap = RPG::Cache.title("Menu_2B.png")
@MENU[11].ox = 0
@MENU[11].oy = 0
@MENU[11].x = 27
@MENU[11].y = 225
@MENU[11].opacity = 240
@MENU[11].visible = true
@MENU[12] = Sprite.new
@MENU[12].bitmap = RPG::Cache.title("Menu_3B.png")
@MENU[12].ox = 0
@MENU[12].oy = 0
@MENU[12].x = 22
@MENU[12].y = 260
@MENU[12].opacity = 240
@MENU[12].visible = true
@MENU[13] = Sprite.new
@MENU[13].bitmap = RPG::Cache.title("Menu_4B.png")
@MENU[13].ox = 0
@MENU[13].oy = 0
@MENU[13].x = 22
@MENU[13].y = 295
@MENU[13].opacity = 240
@MENU[13].visible = true
@MENU[14] = Sprite.new
@MENU[14].bitmap = RPG::Cache.title("Menu_5B.png")
@MENU[14].ox = 0
@MENU[14].oy = 0
@MENU[14].x = 28
@MENU[14].y = 330
@MENU[14].opacity = 240
@MENU[14].visible = true
@MENU[15] = Sprite.new
@MENU[15].bitmap = RPG::Cache.title("Menu_6B.png")
@MENU[15].ox = 0
@MENU[15].oy = 0
@MENU[15].x = 30
@MENU[15].y = 365
@MENU[15].opacity = 240
@MENU[15].visible = true
@MENU[16] = Sprite.new
@MENU[16].bitmap = RPG::Cache.title("Menu_7B.png")
@MENU[16].ox = 0
@MENU[16].oy = 0
@MENU[16].x = 0
@MENU[16].y = 400
@MENU[16].opacity = 240
@MENU[16].visible = true
@MENU[17] = Sprite.new
@MENU[17].bitmap = RPG::Cache.title("BLACK.png")
@MENU[17].ox = 0
@MENU[17].oy = 0
@MENU[17].x = 0
@MENU[17].y = 0
@MENU[17].opacity = 0
@MENU[17].visible = true
@MENU[18] = Sprite.new
@MENU[18].bitmap = RPG::Cache.title("pass.jpg")
@MENU[18].ox = 0
@MENU[18].oy = 0
@MENU[18].x = 0
@MENU[18].y = 0
@MENU[18].opacity = 0
@MENU[18].visible = false
Graphics.frame_rate = 50
@PSELECT = 1
@FT = 0
# 同伴人数为 0 的情况下
if $game_party.actors.size == 0
# 物品、特技、装备、状态无效化
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
# 禁止存档的情况下
if $game_system.save_disabled
# 存档无效
@command_window.disable_item(4)
end
@playtime_window = Window_PlayTime.new
@playtime_window.x = 40
@playtime_window.y = 58
@playtime_window.opacity = 0
@playtime_window.back_opacity = 0
@gold_window = Window_Gold.new
@gold_window.x = 20
@gold_window.y = 128
@gold_window.opacity = 0
@gold_window.back_opacity = 0
# 执行过渡
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果切换画面就中断循环
if $scene != self
break
end
end
# 准备过渡
Graphics.freeze
# 释放图片
@MENU[1].dispose
@MENU[1].bitmap.dispose
@MENU[2].dispose
@MENU[2].bitmap.dispose
@MENU[3].dispose
@MENU[3].bitmap.dispose
@MENU[4].dispose
@MENU[4].bitmap.dispose
@MENU[5].dispose
@MENU[5].bitmap.dispose
@MENU[6].dispose
@MENU[6].bitmap.dispose
@MENU[7].dispose
@MENU[7].bitmap.dispose
@MENU[8].dispose
@MENU[8].bitmap.dispose
@MENU[9].dispose
@MENU[9].bitmap.dispose
@MENU[10].dispose
@MENU[10].bitmap.dispose
@MENU[11].dispose
@MENU[11].bitmap.dispose
@MENU[12].dispose
@MENU[12].bitmap.dispose
@MENU[13].dispose
@MENU[13].bitmap.dispose
@MENU[14].dispose
@MENU[14].bitmap.dispose
@MENU[15].dispose
@MENU[15].bitmap.dispose
@MENU[16].dispose
@MENU[16].bitmap.dispose
@playtime_window.dispose
@gold_window.dispose
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# ウィンドウを更新
@playtime_window.update
@gold_window.update
# コマンドウィンドウがアクティブの場合: update_command を呼ぶ
if @FT = 0
update_command
return
end
end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
def update_command
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 刷新输入信息
$scene = Scene_Map.new
return
end
if Input.trigger?(Input: OWN)
Audio.se_play("Audio/SE/001-System01.ogg", 80, 100)
if @PSELECT < 7
@PSELECT +=1
elsif @PSELECT == 7
@PSELECT = 1
end
elsif Input.trigger?(Input::UP)
Audio.se_play("Audio/SE/001-System01.ogg", 80, 100)
if @PSELECT > 1
@PSELECT -= 1
elsif @PSELECT == 1
@PSELECT = 7
end
end
case @PSELECT
when 1
@MENU[3].visible = true
@MENU[4].visible = false
@MENU[5].visible = false
@MENU[6].visible = false
@MENU[7].visible = false
@MENU[8].visible = false
@MENU[9].visible = false
@MENU[10].visible = false
@MENU[11].visible = true
@MENU[12].visible = true
@MENU[13].visible = true
@MENU[14].visible = true
@MENU[15].visible = true
@MENU[16].visible = true
when 2
@MENU[3].visible = false
@MENU[4].visible = true
@MENU[5].visible = false
@MENU[6].visible = false
@MENU[7].visible = false
@MENU[8].visible = false
@MENU[9].visible = false
@MENU[10].visible = true
@MENU[11].visible = false
@MENU[12].visible = true
@MENU[13].visible = true
@MENU[14].visible = true
@MENU[15].visible = true
@MENU[16].visible = true
when 3
@MENU[3].visible = false
@MENU[4].visible = false
@MENU[5].visible = true
@MENU[6].visible = false
@MENU[7].visible = false
@MENU[8].visible = false
@MENU[9].visible = false
@MENU[10].visible = true
@MENU[11].visible = true
@MENU[12].visible = false
@MENU[13].visible = true
@MENU[14].visible = true
@MENU[15].visible = true
@MENU[16].visible = true
when 4
@MENU[3].visible = false
@MENU[4].visible = false
@MENU[5].visible = false
@MENU[6].visible = true
@MENU[7].visible = false
@MENU[8].visible = false
@MENU[9].visible = false
@MENU[10].visible = true
@MENU[11].visible = true
@MENU[12].visible = true
@MENU[13].visible = false
@MENU[14].visible = true
@MENU[15].visible = true
@MENU[16].visible = true
when 5
@MENU[3].visible = false
@MENU[4].visible = false
@MENU[5].visible = false
@MENU[6].visible = false
@MENU[7].visible = true
@MENU[8].visible = false
@MENU[9].visible = false
@MENU[10].visible = true
@MENU[11].visible = true
@MENU[12].visible = true
@MENU[13].visible = true
@MENU[14].visible = false
@MENU[15].visible = true
@MENU[16].visible = true
when 6
@MENU[3].visible = false
@MENU[4].visible = false
@MENU[5].visible = false
@MENU[6].visible = false
@MENU[7].visible = false
@MENU[8].visible = true
@MENU[9].visible = false
@MENU[10].visible = true
@MENU[11].visible = true
@MENU[12].visible = true
@MENU[13].visible = true
@MENU[14].visible = true
@MENU[15].visible = false
@MENU[16].visible = true
when 7
@MENU[3].visible = false
@MENU[4].visible = false
@MENU[5].visible = false
@MENU[6].visible = false
@MENU[7].visible = false
@MENU[8].visible = false
@MENU[9].visible = true
@MENU[10].visible = true
@MENU[11].visible = true
@MENU[12].visible = true
@MENU[13].visible = true
@MENU[14].visible = true
@MENU[15].visible = true
@MENU[16].visible = false
end
if Input.trigger?(Input::C)
# 同伴人数为 0、存档、游戏结束以外的场合
if $game_party.actors.size == 0 and @command_window.index < 4
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
# 命令窗口的光标位置分支
case @PSELECT
when 1 # 状态
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 激活状态窗口
$scene = Scene_Status.new
when 2 # 物品
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 切换到物品画面
$scene = Scene_Item.new
when 3 # 装备
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 激活状态窗口
$scene = Scene_Equip.new
when 4 # 卡片
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 切换到物品画面
$scene = Scene_Item.new
when 5 # 特技
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 激活状态窗口
$scene = Scene_Skill.new
when 6 # 存档
# 禁止存档的情况下
if $game_system.save_disabled
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 切换到存档画面
$scene = Scene_Save.new
when 7 # 游戏结束
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
loop do
Graphics.update
@MENU[17].opacity += 10
if @MENU[17].opacity == 60
@playtime_window.visible = false
@gold_window.visible = false
elsif @MENU[17].opacity == 255
@MENU[18].opacity += 10
end
if @MENU[18].opacity == 255
Audio.bgm_fade(800)
Audio.bgs_fade(800)
Audio.me_fade(800)
$scene = Scene_End.new
break
# 切换到游戏结束画面
end
return
end
end
end
end
end
肯定有问题,很多问题
但不知道出错在哪里。。。 [s:6] |
|