赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 32882 |
最后登录 | 2016-9-16 |
在线时间 | 270 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 270 小时
- 注册时间
- 2013-7-19
- 帖子
- 121
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
请问这个仿魔兽的动态菜单怎么调整透明度- # ————————————————————————————————————
- # 本脚本来自www.66rpg.com,仿魔兽式窗口。转载请保留此信息
- # ————————————————————————————————————
- #==============================================================================
- # ■ Warcraftization
- #------------------------------------------------------------------------------
- # 处理魔兽式菜单切换的模块。
- #==============================================================================
- module Warcraftization
- Dispose_effect = "Audio/SE/024-Door01" # 菜单切换时音效
- Ini_efect = "Audio/SE/029-Door06" # 切换结束时音效
- # 窗口移动的速度:反比,取整数,范围1-12,1最快,12最慢
- Speed = 7 # 窗口移动的速度
- Elasticity = true # 窗口有无弹性
- #############################################################################
- #############################################################################
- # 处理速度的函数 (为了让直接调用 $scene = XXX.new 也生效,故每个Scene都调用)
- def speed
- # 速度处理 (因为像素不可活算小数(分数),所以只能取一些公约数)
- # (存档处因为数字比较特殊,所以这里的速度不影响它
- # 有兴趣可以自己在下面的Scene_File调)
- case Speed
- when 1;$speed = 1
- when 2;$speed = 2
- when 3;$speed = 4
- when 4;$speed = 5
- when 5;$speed = 8
- when 6;$speed = 10
- when 7;$speed = 16
- when 8;$speed = 20
- when 9;$speed = 32
- when 10;$speed = 40
- when 11;$speed = 80
- when 12;$speed = 160
- end
- end
- # 弹力处理
- def elasticity (object)
- if Elasticity then for i in 0 .. 5
- object.y -= i * 2
- Graphics.update
- end;for i in 0 .. 5
- object.y += i * 2
- Graphics.update
- end;for i in 0 .. 3
- object.y -= i * 2
- Graphics.update
- end;for i in 0 .. 3
- object.y += i * 2
- Graphics.update
- end;for i in 0 .. 1
- object.y -= i * 2
- Graphics.update
- end;for i in 0 .. 1
- object.y += i * 2
- Graphics.update
- end
- end
- end
- end
- #==============================================================================
- # ■ Scene_Menu
- #------------------------------------------------------------------------------
- # 处理菜单画面的类。
- #==============================================================================
- class Scene_Menu
- include Warcraftization
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- speed
- # 生成地图窗口
- @spriteset = Spriteset_Map.new
- # 生成命令窗口
- s1 = $data_system.words.item
- s2 = $data_system.words.skill
- s3 = $data_system.words.equip
- s4 = "状态"
- s5 = "存档"
- s6 = "读取"
- s7 = "退出游戏"
- @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
- @command_window.index = @menu_index
- @command_window.x = -160
- @command_window.height -= 32
- # 同伴人数为 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 = -160
- @playtime_window.y = 224
- # 生成步数窗口
- @steps_window = Window_Steps.new
- @steps_window.x = -160
- @steps_window.y = 320
- # 生成金钱窗口
- @gold_window = Window_Gold.new
- @gold_window.x = -160
- @gold_window.y = 416
- # 生成状态窗口
- @status_window = Window_MenuStatus.new
- @status_window.x = 640
- @status_window.y = 0
- @command_window.back_opacity = 180
- @playtime_window.back_opacity = 180
- @steps_window.back_opacity = 180
- @gold_window.back_opacity = 180
- @status_window.back_opacity = 180
- # 执行过渡
- Graphics.transition
- for i in 1 .. $speed
- @command_window.x += 160 / $speed
- @playtime_window.x += 160 / $speed
- @steps_window.x += 160 / $speed
- @gold_window.x += 160 / $speed
- @status_window.x -= 480 / $speed
- Graphics.update
- end
- Audio.se_play(Ini_efect, 100, 0)
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面
- update
- # 如果切换画面就中断循环
- if $scene != self
- break
- end
- end
- Audio.se_play(Dispose_effect, 100, 100)
- for i in 1 .. $speed
- @command_window.x -= 160 / $speed
- @playtime_window.x -= 160 / $speed
- @steps_window.x -= 160 / $speed
- @gold_window.x -= 160 / $speed
- @status_window.x += 480 / $speed
- Graphics.update
- end
- # 释放活动块
- # 准备过渡
- Graphics.freeze
- # 释放窗口
- @command_window.dispose
- @playtime_window.dispose
- @steps_window.dispose
- @gold_window.dispose
- @status_window.dispose
- # 释放地图窗口
- @spriteset.dispose
- end
- end
- #==============================================
- #==本脚本来自www.66rpg.com,转载使用请保留此信息==
- #==============================================
- #==============================================================================
- # ■ Harts_Scene_Item
- #------------------------------------------------------------------------------
- # アイテム画面の処理を行うクラスです。再定義
- #==============================================================================
- class Scene_Item
- include Warcraftization
- #--------------------------------------------------------------------------
- # ● メイン処理
- #--------------------------------------------------------------------------
- def main
- # 生成地图窗口
- @spriteset = Spriteset_Map.new
- # タイトルウィンドウを作成
- @itemtitle_window = Harts_Window_ItemTitle.new
- @itemtitle_window.x = -160
- #コマンドウィンドウを作成
- @itemcommand_window = Harts_Window_ItemCommand.new
- @command_index = @itemcommand_window.index
- @itemcommand_window.x = -160
- #アイテムウィンドウを作成
- @itemlist_window = Harts_Window_ItemList.new
- @itemlist_window.active = false
- @itemlist_window.x = 640
- #ヘルプウィンドウを作成
- @help_window = Window_Help.new
- @help_window.x = 0
- @help_window.y = 416
- @help_window.y = 480
- # ヘルプウィンドウを関連付け
- @itemcommand_window.help_window = @help_window
- @itemlist_window.help_window = @help_window
- # ターゲットウィンドウを作成 (不可視?非アクティブに設定)
- @target_window = Window_Target.new
- @target_window.y = -480
- @target_window.visible = false
- @target_window.active = false
- # アイテムウィンドウ内容表示
- @itemlist_window.set_item(@command_index)
- # トランジション実行
- Graphics.transition
- for i in 1 .. $speed
- @itemtitle_window.x += 160 / $speed
- @itemcommand_window.x += 160 / $speed
- @itemlist_window.x -= 480 / $speed
- @help_window.y -= 64 / $speed
- @target_window.y -= 480 / $speed
- Graphics.update
- end
- Audio.se_play(Ini_efect, 100, 0)
- # メインループ
- loop do
- # ゲーム画面を更新
- Graphics.update
- # 入力情報を更新
- Input.update
- # フレーム更新
- update
- # 画面が切り替わったらループを中断
- if $scene != self
- break
- end
- end
- Audio.se_play(Dispose_effect, 100, 100)
- for i in 1 .. $speed
- @itemtitle_window.x -= 160 / $speed
- @itemcommand_window.x -= 160 / $speed
- @itemlist_window.x += 480 / $speed
- @help_window.y += 64 / $speed
- @target_window.y -= 480 / $speed
- Graphics.update
- end
- # トランジション準備
- Graphics.freeze
- # ウィンドウを解放
- @itemtitle_window.dispose
- @itemcommand_window.dispose
- @itemlist_window.dispose
- @help_window.dispose
- @target_window.dispose
- # 释放地图窗口
- @spriteset.dispose
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新
- #--------------------------------------------------------------------------
- def update
- # ウィンドウを更新
- @itemtitle_window.update
- @itemcommand_window.update
- @itemlist_window.update
- @help_window.update
- @target_window.update
- if @command_index != @itemcommand_window.index
- @command_index = @itemcommand_window.index
- @itemlist_window.set_item(@command_index)
- end
- # コマンドウィンドウがアクティブの場合: update_itemcommand を呼ぶ
- if @itemcommand_window.active
- update_itemcommand
- return
- end
- # アイテムウィンドウがアクティブの場合: update_itemlist を呼ぶ
- if @itemlist_window.active
- update_itemlist
- return
- end
- # ターゲットウィンドウがアクティブの場合: update_target を呼ぶ
- if @target_window.active
- update_target
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新 (コマンドウィンドウがアクティブの場合)
- #--------------------------------------------------------------------------
- def update_itemcommand
- # B ボタンが押された場合
- if Input.trigger?(Input::B)
- # キャンセル SE を演奏
- $game_system.se_play($data_system.cancel_se)
- # メニュー画面に切り替え
- $scene = Scene_Menu.new(0)
- return
- end
- # C ボタンが押された場合
- if Input.trigger?(Input::C)
- # 選択中のコマンドのアイテムがない場合
- if @itemlist_window.item_number == 0
- # ブザー SE を演奏
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 決定 SE を演奏
- $game_system.se_play($data_system.decision_se)
- # アイテムウィンドウをアクティブにする
- @itemcommand_window.active = false
- @itemlist_window.active = true
- @itemlist_window.index = 0
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新 (アイテムウィンドウがアクティブの場合)
- #--------------------------------------------------------------------------
- def update_itemlist
- # B ボタンが押された場合
- if Input.trigger?(Input::B)
- # キャンセル SE を演奏
- $game_system.se_play($data_system.cancel_se)
- # アイテムウィンドウをアクティブにする
- @itemcommand_window.active = true
- @itemlist_window.active = false
- @itemlist_window.index = 0
- @itemcommand_window.index = @command_index
- return
- end
- # C ボタンが押された場合
- if Input.trigger?(Input::C)
- # アイテムウィンドウで現在選択されているデータを取得
- @item = @itemlist_window.item
- # 使用アイテムではない場合
- unless @item.is_a?(RPG::Item)
- # ブザー SE を演奏
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 使用できない場合
- unless $game_party.item_can_use?(@item.id)
- # ブザー SE を演奏
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 決定 SE を演奏
- $game_system.se_play($data_system.decision_se)
- # 効果範囲が味方の場合
- if @item.scope >= 3
- # ターゲットウィンドウをアクティブ化
- @itemlist_window.active = false
- @target_window.x = 304
- @target_window.visible = true
- @target_window.active = true
- # 効果範囲 (単体/全体) に応じてカーソル位置を設定
- if @item.scope == 4 || @item.scope == 6
- @target_window.index = -1
- else
- @target_window.index = 0
- end
- # 効果範囲が味方以外の場合
- else
- # コモンイベント ID が有効の場合
- if @item.common_event_id > 0
- # コモンイベント呼び出し予約
- $game_temp.common_event_id = @item.common_event_id
- # アイテムの使用時 SE を演奏
- $game_system.se_play(@item.menu_se)
- # 消耗品の場合
- if @item.consumable
- # 使用したアイテムを 1 減らす
- $game_party.lose_item(@item.id, 1)
- # アイテムウィンドウの項目を再描画
- @itemlist_window.draw_item(@itemlist_window.index)
- end
- # マップ画面に切り替え
- $scene = Scene_Map.new
- return
- end
- end
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● フレーム更新 (ターゲットウィンドウがアクティブの場合)
- #--------------------------------------------------------------------------
- def update_target
- # B ボタンが押された場合
- if Input.trigger?(Input::B)
- # キャンセル SE を演奏
- $game_system.se_play($data_system.cancel_se)
- # アイテム切れなどで使用できなくなった場合
- unless $game_party.item_can_use?(@item.id)
- # アイテムウィンドウの内容を再作成
- @itemlist_window.refresh
- end
- # ターゲットウィンドウを消去
- @itemlist_window.active = true
- @target_window.visible = false
- @target_window.active = false
- @itemlist_window.set_item(@command_index)
- return
- end
- # C ボタンが押された場合
- if Input.trigger?(Input::C)
- # アイテムを使い切った場合
- if $game_party.item_number(@item.id) == 0
- # ブザー SE を演奏
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # ターゲットが全体の場合
- if @target_window.index == -1
- # パーティ全体にアイテムの使用効果を適用
- used = false
- for i in $game_party.actors
- used |= i.item_effect(@item)
- end
- end
- # ターゲットが単体の場合
- if @target_window.index >= 0
- # ターゲットのアクターにアイテムの使用効果を適用
- target = $game_party.actors[@target_window.index]
- used = target.item_effect(@item)
- end
- # アイテムを使った場合
- if used
- # アイテムの使用時 SE を演奏
- $game_system.se_play(@item.menu_se)
- # 消耗品の場合
- if @item.consumable
- # 使用したアイテムを 1 減らす
- $game_party.lose_item(@item.id, 1)
- # アイテムウィンドウの項目を再描画
- @itemlist_window.draw_item(@itemlist_window.index)
- @itemlist_window.set_item(@command_index)
- end
- # ターゲットウィンドウの内容を再作成
- @target_window.refresh
- # 全滅の場合
- if $game_party.all_dead?
- # ゲームオーバー画面に切り替え
- $scene = Scene_Gameover.new
- return
- end
- # コモンイベント ID が有効の場合
- if @item.common_event_id > 0
- # コモンイベント呼び出し予約
- $game_temp.common_event_id = @item.common_event_id
- # マップ画面に切り替え
- $scene = Scene_Map.new
- return
- end
- end
- # アイテムを使わなかった場合
- unless used
- # ブザー SE を演奏
- $game_system.se_play($data_system.buzzer_se)
- end
- return
- end
- end
- end
- #==============================================
- #==本脚本来自www.66rpg.com,转载使用请保留此信息==
- #==============================================
- #==============================================================================
- # ■ Scene_Skill
- #------------------------------------------------------------------------------
- # 处理特技画面的类。
- #==============================================================================
- class Scene_Skill
- include Warcraftization
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- speed
- # 生成地图窗口
- @spriteset = Spriteset_Map.new
- # 获取角色
- @actor = $game_party.actors[@actor_index]
- # 生成帮助窗口、状态窗口、特技窗口
- @help_window = Window_Help.new
- @help_window.y = -64
- @status_window = Window_SkillStatus.new(@actor)
- @status_window.y = - 64
- @skill_window = Window_Skill.new(@actor)
- @skill_window.y = -352
- # 关联帮助窗口
- @skill_window.help_window = @help_window
- # 生成目标窗口 (设置为不可见・不活动)
- @target_window = Window_Target.new
- @target_window.y = -480
- @target_window.visible = false
- @target_window.active = false
- # 执行过渡
- Graphics.transition
- for i in 1 .. $speed
- @help_window.y += 64 / $speed
- @status_window.y += 128 / $speed
- @skill_window.y += 480 / $speed
- Graphics.update
- end
- Audio.se_play(Ini_efect, 100, 0)
- elasticity (@skill_window)
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面
- update
- # 如果画面切换的话就中断循环
- if $scene != self
- break
- end
- end
- Audio.se_play(Dispose_effect, 100, 100)
- for i in 1 .. $speed
- @help_window.y -= 64 / $speed
- @status_window.y -= 128 / $speed
- @skill_window.y -= 480 / $speed
- @target_window.y -= 480 / $speed
- Graphics.update
- end
- # 准备过渡
- Graphics.freeze
- # 释放窗口
- @help_window.dispose
- @status_window.dispose
- @skill_window.dispose
- @target_window.dispose
- # 释放地图窗口
- @spriteset.dispose
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面 (特技窗口被激活的情况下)
- #--------------------------------------------------------------------------
- def update_skill
- # 按下 B 键的情况下
- if Input.trigger?(Input::B)
- # 演奏取消 SE
- $game_system.se_play($data_system.cancel_se)
- # 切换到菜单画面
- $scene = Scene_Menu.new(1)
- return
- end
- # 按下 C 键的情况下
- if Input.trigger?(Input::C)
- # 获取特技窗口现在选择的特技的数据
- @skill = @skill_window.skill
- # 不能使用的情况下
- if @skill == nil or not @actor.skill_can_use?(@skill.id)
- # 演奏冻结 SE
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 演奏确定 SE
- $game_system.se_play($data_system.decision_se)
- # 效果范围是我方的情况下
- if @skill.scope >= 3
- # 激活目标窗口
- @skill_window.active = false
- @target_window.x = (@skill_window.index + 1) % 2 * 304
- @target_window.visible = true
- # 设置效果范围 (单体/全体) 的对应光标位置
- if @skill.scope == 4 || @skill.scope == 6
- @target_window.index = -1
- elsif @skill.scope == 7
- @target_window.index = @actor_index - 10
- else
- @target_window.index = 0
- end
- for i in 1 .. $speed
- @target_window.y += 480 / $speed
- Graphics.update
- end
- Audio.se_play(Ini_efect, 100, 0)
- elasticity (@target_window)
- @target_window.active = true
- # 效果在我方以外的情况下
- else
- # 公共事件 ID 有效的情况下
- if @skill.common_event_id > 0
- # 预约调用公共事件
- $game_temp.common_event_id = @skill.common_event_id
- # 演奏特技使用时的 SE
- $game_system.se_play(@skill.menu_se)
- # 消耗 SP
- @actor.sp -= @skill.sp_cost
- # 再生成各窗口的内容
- @status_window.refresh
- @skill_window.refresh
- @target_window.refresh
- # 切换到地图画面
- $scene = Scene_Map.new
- return
- end
- end
- return
- end
- # 按下 R 键的情况下
- if Input.trigger?(Input::R)
- # 演奏光标 SE
- $game_system.se_play($data_system.cursor_se)
- # 移至下一位角色
- @actor_index += 1
- @actor_index %= $game_party.actors.size
- # 切换到别的特技画面
- $scene = Scene_Skill.new(@actor_index)
- return
- end
- # 按下 L 键的情况下
- if Input.trigger?(Input::L)
- # 演奏光标 SE
- $game_system.se_play($data_system.cursor_se)
- # 移至上一位角色
- @actor_index += $game_party.actors.size - 1
- @actor_index %= $game_party.actors.size
- # 切换到别的特技画面
- $scene = Scene_Skill.new(@actor_index)
- return
- end
- end
- #--------------------------------------------------------------------------
- # ● 刷新画面 (目标窗口被激活的情况下)
- #--------------------------------------------------------------------------
- def update_target
- # 按下 B 键的情况下
- if Input.trigger?(Input::B)
- # 演奏取消 SE
- $game_system.se_play($data_system.cancel_se)
- Audio.se_play(Dispose_effect, 100, 100)
- for i in 1 .. $speed
- @target_window.y -= 480 / $speed
- Graphics.update
- end
- # 删除目标窗口
- @skill_window.active = true
- @target_window.visible = false
- @target_window.active = false
- return
- end
- # 按下 C 键的情况下
- if Input.trigger?(Input::C)
- # 因为 SP 不足而无法使用的情况下
- unless @actor.skill_can_use?(@skill.id)
- # 演奏冻结 SE
- $game_system.se_play($data_system.buzzer_se)
- return
- end
- # 目标是全体的情况下
- if @target_window.index == -1
- # 对同伴全体应用特技使用效果
- used = false
- for i in $game_party.actors
- used |= i.skill_effect(@actor, @skill)
- end
- end
- # 目标是使用者的情况下
- if @target_window.index <= -2
- # 对目标角色应用特技的使用效果
- target = $game_party.actors[@target_window.index + 10]
- used = target.skill_effect(@actor, @skill)
- end
- # 目标是单体的情况下
- if @target_window.index >= 0
- # 对目标角色应用特技的使用效果
- target = $game_party.actors[@target_window.index]
- used = target.skill_effect(@actor, @skill)
- end
- # 使用特技的情况下
- if used
- # 演奏特技使用时的 SE
- $game_system.se_play(@skill.menu_se)
- # 消耗 SP
- @actor.sp -= @skill.sp_cost
- # 再生成各窗口内容
- @status_window.refresh
- @skill_window.refresh
- @target_window.refresh
- # 全灭的情况下
- if $game_party.all_dead?
- # 切换到游戏结束画面
- $scene = Scene_Gameover.new
- return
- end
- # 公共事件 ID 有效的情况下
- if @skill.common_event_id > 0
- # 预约调用公共事件
- $game_temp.common_event_id = @skill.common_event_id
- # 切换到地图画面
- $scene = Scene_Map.new
- return
- end
- end
- # 无法使用特技的情况下
- unless used
- # 演奏冻结 SE
- $game_system.se_play($data_system.buzzer_se)
- end
- return
- end
- end
- end
- #==============================================================================
- # ■ Scene_Equip
- #------------------------------------------------------------------------------
- # 处理装备画面的类。
- #==============================================================================
- class Scene_Equip
- include Warcraftization
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- speed
- # 生成地图窗口
- @spriteset = Spriteset_Map.new
- # 获取角色
- @actor = $game_party.actors[@actor_index]
- # 生成窗口
- @help_window = Window_Help.new
- @help_window.y = -64
- @left_window = Window_EquipLeft.new(@actor)
- @left_window.y = -416
- @right_window = Window_EquipRight.new(@actor)
- @right_window.y = -256
- @item_window1 = Window_EquipItem.new(@actor, 0)
- @item_window1.y = -224
- @item_window2 = Window_EquipItem.new(@actor, 1)
- @item_window2.y = -224
- @item_window3 = Window_EquipItem.new(@actor, 2)
- @item_window3.y = -224
- @item_window4 = Window_EquipItem.new(@actor, 3)
- @item_window4.y = -224
- @item_window5 = Window_EquipItem.new(@actor, 4)
- @item_window5.y = -224
- @item_window6 = Window_EquipItem.new(@actor, 5)
- @item_window6.y = -224
- @item_window7 = Window_EquipItem.new(@actor, 6)
- @item_window7.y = -224
- # 关联帮助窗口
- @right_window.help_window = @help_window
- @item_window1.help_window = @help_window
- @item_window2.help_window = @help_window
- @item_window3.help_window = @help_window
- @item_window4.help_window = @help_window
- @item_window5.help_window = @help_window
- @item_window6.help_window = @help_window
- @item_window7.help_window = @help_window
- ##############
- # @equip_window = Window_Equip.new
- ##############
- # 设置光标位置
- @right_window.index = @equip_index
- refresh
- # 执行过渡
- Graphics.transition
- for i in 1 .. $speed
- @help_window.y += 64 / $speed
- @left_window.y += 483 / $speed
- @right_window.y += 326 / $speed
- @item_window1.y += 550 / $speed
- @item_window2.y += 550 / $speed
- @item_window3.y += 550 / $speed
- @item_window4.y += 550 / $speed
- @item_window5.y += 550 / $speed
- @item_window6.y += 550 / $speed
- @item_window7.y += 550 / $speed
- Graphics.update
- end
- Audio.se_play(Ini_efect, 100, 0)
- elasticity (@item_window)
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面
- update
- # 如果画面切换的话的就中断循环
- if $scene != self
- break
- end
- end
- Audio.se_play(Dispose_effect, 100, 100)
- for i in 1 .. $speed
- @help_window.y -= 64 / $speed
- @left_window.y -= 483 / $speed
- @right_window.y -= 326 / $speed
- @item_window1.y -= 550 / $speed
- @item_window2.y -= 550 / $speed
- @item_window3.y -= 550 / $speed
- @item_window4.y -= 550 / $speed
- @item_window5.y -= 550 / $speed
- @item_window6.y -= 550 / $speed
- @item_window7.y -= 550 / $speed
- Graphics.update
- end
- # 准备过渡
- Graphics.freeze
- # 释放窗口
- @help_window.dispose
- @left_window.dispose
- @right_window.dispose
- @item_window1.dispose
- @item_window2.dispose
- @item_window3.dispose
- @item_window4.dispose
- @item_window5.dispose
- @item_window6.dispose
- @item_window7.dispose
- ##############
- # @equip_window.dispose
- ##############
- # 释放地图窗口
- @spriteset.dispose
- end
- end
- #==============================================================================
- # ■ Scene_Status
- #------------------------------------------------------------------------------
- # 处理状态画面的类。
- #==============================================================================
- class Scene_Status
- include Warcraftization
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # actor_index : 角色索引
- #--------------------------------------------------------------------------
- def initialize(actor_index = 0, equip_index = 0)
- @actor_index = actor_index
- end
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- speed
- # 生成地图窗口
- @spriteset = Spriteset_Map.new
- # 获取角色
- @actor = $game_party.actors[@actor_index]
- # 生成状态窗口
- @status_window = Window_Status.new(@actor)
- @status_window.y = -480
- # 执行过渡
- Graphics.transition
- for i in 1 .. $speed
- @status_window.y += 480 / $speed
- Graphics.update
- end
- Audio.se_play(Ini_efect, 100, 0)
- elasticity (@status_window)
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面
- update
- # 如果画面被切换的话就中断循环
- if $scene != self
- break
- end
- end
- Audio.se_play(Dispose_effect, 100, 100)
- for i in 1 .. $speed
- @status_window.y -= 480 / $speed
- Graphics.update
- end
- # 准备过渡
- Graphics.freeze
- # 释放窗口
- @status_window.dispose
- # 释放地图窗口
- @spriteset.dispose
- end
- end
- #==============================================================================
- # ■ Scene_File
- #------------------------------------------------------------------------------
- # 存档画面及读档画面的超级类。
- #==============================================================================
- class Scene_File
- include Warcraftization
- #--------------------------------------------------------------------------
- # ● 主处理
- #--------------------------------------------------------------------------
- def main
- speed
- # 生成帮助窗口
- @help_window = Window_Help.new
- @help_window.y = -64
- @help_window.set_text(@help_text)
- # 生成存档文件查
- @savefile_windows = []
- for i in 0..3
- @savefile_windows.push(Window_SaveFile.new(i, make_filename(i)))
- @savefile_windows[i].y = -104
- end
- # 选择最后操作的文件
- @file_index = $game_temp.last_file_index
- @savefile_windows[@file_index].selected = true
- # 执行过渡
- Graphics.transition
- for i in 1 .. 8
- @help_window.y += 8
- @savefile_windows[0].y += 21
- @savefile_windows[1].y += 34
- @savefile_windows[2].y += 47
- @savefile_windows[3].y += 60
- Graphics.update
- end
- Audio.se_play(Ini_efect, 100, 0)
- elasticity (@savefile_windows[@file_index])
- # 主循环
- loop do
- # 刷新游戏画面
- Graphics.update
- # 刷新输入信息
- Input.update
- # 刷新画面
- update
- # 如果画面被切换的话就中断循环
- if $scene != self
- break
- end
- end
- Audio.se_play(Dispose_effect, 100, 100)
- for i in 1 .. 8
- @help_window.y -= 8
- @savefile_windows[0].y -= 21
- @savefile_windows[1].y -= 34
- @savefile_windows[2].y -= 47
- @savefile_windows[3].y -= 60
- Graphics.update
- end
- # 准备过渡
- Graphics.freeze
- # 释放窗口
- @help_window.dispose
- # 释放地图窗口
- for i in @savefile_windows
- i.dispose
- end
- end
- end
- # ————————————————————————————————————
- # 本脚本来自www.66rpg.com,转载请保留此信息。
- # ————————————————————————————————————
复制代码 |
|