设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1828|回复: 6
打印 上一主题 下一主题

如何把菜单和战斗的框框改为仙剑的?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2007-6-3
帖子
801
跳转到指定楼层
1
发表于 2007-6-16 02:28:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如何把菜单和战斗的框框改为仙剑的?如何把战斗时的:战斗/逃跑 去掉,改为在特技 物品......那的?
无签名,不解释

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2007-6-3
帖子
801
7
 楼主| 发表于 2007-6-16 03:19:53 | 只看该作者
另外谢谢你了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2007-6-3
帖子
801
6
 楼主| 发表于 2007-6-16 03:13:35 | 只看该作者
我说的框框不是"战斗中的选项框在Windowskins里那张图片,"是那个显示特技.物品.防御的那个框框
无签名,不解释
回复 支持 反对

使用道具 举报

Lv1.梦旅人

百魅大侠

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-6-9
帖子
615
5
发表于 2007-6-16 03:00:33 | 只看该作者


http://rpg.blue/web/htm/news702.htm

ftp://[email protected]/技术/七夕小雨/真仙剑菜单.rar

七夕小雨编好的脚本,自己看
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2007-6-3
帖子
801
4
 楼主| 发表于 2007-6-16 02:58:35 | 只看该作者
那怎么改菜单?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

百魅大侠

梦石
0
星屑
50
在线时间
1 小时
注册时间
2006-6-9
帖子
615
3
发表于 2007-6-16 02:42:23 | 只看该作者
http://rpg.blue/web/htm/news702.htm这是菜单
战斗中的选项框在Windowskins里那张图片,自己把选框修改修改,至于对话框,建议直接用
图片显示做吧,http://rpg.blue/web/htm/news328.htm把逃跑去了,用下面的脚本将逃跑
移到普通项


  1. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. #  将逃跑移到普通项 of sdxsdx
  3. # (简易版)
  4. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



  5. #==============================================================================
  6. # ■ Scene_Battle (分割定义 1)
  7. #------------------------------------------------------------------------------
  8. #  处理战斗画面的类。
  9. #==============================================================================

  10. class Scene_Battle
  11. #--------------------------------------------------------------------------
  12. # ● 主处理
  13. #--------------------------------------------------------------------------
  14. def main
  15.    # 初始化战斗用的各种暂时数据
  16.    $game_temp.in_battle = true
  17.    $game_temp.battle_turn = 0
  18.    $game_temp.battle_event_flags.clear
  19.    $game_temp.battle_abort = false
  20.    $game_temp.battle_main_phase = false
  21.    $game_temp.battleback_name = $game_map.battleback_name
  22.    $game_temp.forcing_battler = nil
  23.    # 初始化战斗用事件解释器
  24.    $game_system.battle_interpreter.setup(nil, 0)
  25.    # 准备队伍
  26.    @troop_id = $game_temp.battle_troop_id
  27.    $game_troop.setup(@troop_id)
  28.    # 生成角色命令窗口
  29.    s1 = $data_system.words.attack
  30.    s2 = $data_system.words.skill
  31.    s3 = $data_system.words.guard
  32.    s4 = $data_system.words.item
  33.    s5 = "逃跑"
  34.    @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4,s5])
  35.    @actor_command_window.y = 130
  36.    @actor_command_window.back_opacity = 160
  37.    @actor_command_window.active = false
  38.    @actor_command_window.visible = false
  39.    # 生成其它窗口
  40.    @party_command_window = Window_PartyCommand.new
  41.    @help_window = Window_Help.new
  42.    @help_window.back_opacity = 160
  43.    @help_window.visible = false
  44.    @status_window = Window_BattleStatus.new
  45.    @message_window = Window_Message.new
  46.    # 生成活动块
  47.    @spriteset = Spriteset_Battle.new
  48.    # 初始化等待计数
  49.    @wait_count = 0
  50.    # 执行过渡
  51.    if $data_system.battle_transition == ""
  52.      Graphics.transition(20)
  53.    else
  54.      Graphics.transition(40, "Graphics/Transitions/" +
  55.        $data_system.battle_transition)
  56.    end
  57.    # 开始自由战斗回合
  58.    start_phase1
  59.    # 主循环
  60.    loop do
  61.      # 刷新游戏画面
  62.      Graphics.update
  63.      # 刷新输入信息
  64.      Input.update
  65.      # 刷新画面
  66.      update
  67.      # 如果画面切换的话就中断循环
  68.      if $scene != self
  69.        break
  70.      end
  71.    end
  72.    # 刷新地图
  73.    $game_map.refresh
  74.    # 准备过渡
  75.    Graphics.freeze
  76.    # 释放窗口
  77.    @actor_command_window.dispose
  78.    @party_command_window.dispose
  79.    @help_window.dispose
  80.    @status_window.dispose
  81.    @message_window.dispose
  82.    if @skill_window != nil
  83.      @skill_window.dispose
  84.    end
  85.    if @item_window != nil
  86.      @item_window.dispose
  87.    end
  88.    if @result_window != nil
  89.      @result_window.dispose
  90.    end
  91.    # 释放活动块
  92.    @spriteset.dispose
  93.    # 标题画面切换中的情况
  94.    if $scene.is_a?(Scene_Title)
  95.      # 淡入淡出画面
  96.      Graphics.transition
  97.      Graphics.freeze
  98.    end
  99.    # 战斗测试或者游戏结束以外的画面切换中的情况
  100.    if $BTEST and not $scene.is_a?(Scene_Gameover)
  101.      $scene = nil
  102.    end
  103. end
  104. #--------------------------------------------------------------------------
  105. # ● 胜负判定
  106. #--------------------------------------------------------------------------
  107. def judge
  108.    # 全灭判定是真、并且同伴人数为 0 的情况下
  109.    if $game_party.all_dead? or $game_party.actors.size == 0
  110.      # 允许失败的情况下
  111.      if $game_temp.battle_can_lose
  112.        # 还原为战斗开始前的 BGM
  113.        $game_system.bgm_play($game_temp.map_bgm)
  114.        # 战斗结束
  115.        battle_end(2)
  116.        # 返回 true
  117.        return true
  118.      end
  119.      # 设置游戏结束标志
  120.      $game_temp.gameover = true
  121.      # 返回 true
  122.      return true
  123.    end
  124.    # 如果存在任意 1 个敌人就返回 false
  125.    for enemy in $game_troop.enemies
  126.      if enemy.exist?
  127.        return false
  128.      end
  129.    end
  130.    # 开始结束战斗回合 (胜利)
  131.    start_phase5
  132.    # 返回 true
  133.    return true
  134. end
  135. #--------------------------------------------------------------------------
  136. # ● 战斗结束
  137. #     result : 結果 (0:胜利 1:失败 2:逃跑)
  138. #--------------------------------------------------------------------------
  139. def battle_end(result)
  140.    # 清除战斗中标志
  141.    $game_temp.in_battle = false
  142.    # 清除全体同伴的行动
  143.    $game_party.clear_actions
  144.    # 解除战斗用状态
  145.    for actor in $game_party.actors
  146.      actor.remove_states_battle
  147.    end
  148.    # 清除敌人
  149.    $game_troop.enemies.clear
  150.    # 调用战斗返回调用
  151.    if $game_temp.battle_proc != nil
  152.      $game_temp.battle_proc.call(result)
  153.      $game_temp.battle_proc = nil
  154.    end
  155.    # 切换到地图画面
  156.    $scene = Scene_Map.new
  157. end
  158. #--------------------------------------------------------------------------
  159. # ● 设置战斗事件
  160. #--------------------------------------------------------------------------
  161. def setup_battle_event
  162.    # 正在执行战斗事件的情况下
  163.    if $game_system.battle_interpreter.running?
  164.      return
  165.    end
  166.    # 搜索全部页的战斗事件
  167.    for index in 0...$data_troops[@troop_id].pages.size
  168.      # 获取事件页
  169.      page = $data_troops[@troop_id].pages[index]
  170.      # 事件条件可以参考 c
  171.      c = page.condition
  172.      # 没有指定任何条件的情况下转到下一页
  173.      unless c.turn_valid or c.enemy_valid or
  174.             c.actor_valid or c.switch_valid
  175.        next
  176.      end
  177.      # 执行完毕的情况下转到下一页
  178.      if $game_temp.battle_event_flags[index]
  179.        next
  180.      end
  181.      # 确认回合条件
  182.      if c.turn_valid
  183.        n = $game_temp.battle_turn
  184.        a = c.turn_a
  185.        b = c.turn_b
  186.        if (b == 0 and n != a) or
  187.           (b > 0 and (n < 1 or n < a or n % b != a % b))
  188.          next
  189.        end
  190.      end
  191.      # 确认敌人条件
  192.      if c.enemy_valid
  193.        enemy = $game_troop.enemies[c.enemy_index]
  194.        if enemy == nil or enemy.hp * 100.0 / enemy.maxhp > c.enemy_hp
  195.          next
  196.        end
  197.      end
  198.      # 确认角色条件
  199.      if c.actor_valid
  200.        actor = $game_actors[c.actor_id]
  201.        if actor == nil or actor.hp * 100.0 / actor.maxhp > c.actor_hp
  202.          next
  203.        end
  204.      end
  205.      # 确认开关条件
  206.      if c.switch_valid
  207.        if $game_switches[c.switch_id] == false
  208.          next
  209.        end
  210.      end
  211.      # 设置事件
  212.      $game_system.battle_interpreter.setup(page.list, 0)
  213.      # 本页的范围是 [战斗] 或 [回合] 的情况下
  214.      if page.span <= 1
  215.        # 设置执行结束标志
  216.        $game_temp.battle_event_flags[index] = true
  217.      end
  218.      return
  219.    end
  220. end
  221. #--------------------------------------------------------------------------
  222. # ● 刷新画面
  223. #--------------------------------------------------------------------------
  224. def update
  225.    # 执行战斗事件中的情况下
  226.    if $game_system.battle_interpreter.running?
  227.      # 刷新解释器
  228.      $game_system.battle_interpreter.update
  229.      # 强制行动的战斗者不存在的情况下
  230.      if $game_temp.forcing_battler == nil
  231.        # 执行战斗事件结束的情况下
  232.        unless $game_system.battle_interpreter.running?
  233.          # 继续战斗的情况下、再执行战斗事件的设置
  234.          unless judge
  235.            setup_battle_event
  236.          end
  237.        end
  238.        # 如果不是结束战斗回合的情况下
  239.        if @phase != 5
  240.          # 刷新状态窗口
  241.          @status_window.refresh
  242.        end
  243.      end
  244.    end
  245.    # 系统 (计时器)、刷新画面
  246.    $game_system.update
  247.    $game_screen.update
  248.    # 计时器为 0 的情况下
  249.    if $game_system.timer_working and $game_system.timer == 0
  250.      # 中断战斗
  251.      $game_temp.battle_abort = true
  252.    end
  253.    # 刷新窗口
  254.    @help_window.update
  255.    @party_command_window.update
  256.    @actor_command_window.update
  257.    @status_window.update
  258.    @message_window.update
  259.    # 刷新活动块
  260.    @spriteset.update
  261.    # 处理过渡中的情况下
  262.    if $game_temp.transition_processing
  263.      # 清除处理过渡中标志
  264.      $game_temp.transition_processing = false
  265.      # 执行过渡
  266.      if $game_temp.transition_name == ""
  267.        Graphics.transition(20)
  268.      else
  269.        Graphics.transition(40, "Graphics/Transitions/" +
  270.          $game_temp.transition_name)
  271.      end
  272.    end
  273.    # 显示信息窗口中的情况下
  274.    if $game_temp.message_window_showing
  275.      return
  276.    end
  277.    # 显示效果中的情况下
  278.    if @spriteset.effect?
  279.      return
  280.    end
  281.    # 游戏结束的情况下
  282.    if $game_temp.gameover
  283.      # 切换到游戏结束画面
  284.      $scene = Scene_Gameover.new
  285.      return
  286.    end
  287.    # 返回标题画面的情况下
  288.    if $game_temp.to_title
  289.      # 切换到标题画面
  290.      $scene = Scene_Title.new
  291.      return
  292.    end
  293.    # 中断战斗的情况下
  294.    if $game_temp.battle_abort
  295.      # 还原为战斗前的 BGM
  296.      $game_system.bgm_play($game_temp.map_bgm)
  297.      # 战斗结束
  298.      battle_end(1)
  299.      return
  300.    end
  301.    # 等待中的情况下
  302.    if @wait_count > 0
  303.      # 减少等待计数
  304.      @wait_count -= 1
  305.      return
  306.    end
  307.    # 强制行动的角色存在、
  308.    # 并且战斗事件正在执行的情况下
  309.    if $game_temp.forcing_battler == nil and
  310.       $game_system.battle_interpreter.running?
  311.      return
  312.    end
  313.    # 回合分支
  314.    case @phase
  315.    when 1  # 自由战斗回合
  316.      update_phase1
  317.    when 2  # 同伴命令回合
  318.      update_phase2
  319.    when 3  # 角色命令回合
  320.      update_phase3
  321.    when 4  # 主回合
  322.      update_phase4
  323.    when 5  # 战斗结束回合
  324.      update_phase5
  325.    end
  326. end
  327. end



  328. #==============================================================================
  329. # ■ Scene_Battle (分割定义 3)
  330. #------------------------------------------------------------------------------
  331. #  处理战斗画面的类。
  332. #==============================================================================

  333. class Scene_Battle
  334. #--------------------------------------------------------------------------
  335. # ● 开始角色命令回合
  336. #--------------------------------------------------------------------------
  337. def start_phase3
  338.    # 转移到回合 3
  339.    @phase = 3
  340.    # 设置觉得为非选择状态
  341.    @actor_index = -1
  342.    @active_battler = nil
  343.    # 输入下一个角色的命令
  344.    phase3_next_actor
  345. end
  346. #--------------------------------------------------------------------------
  347. # ● 转到输入下一个角色的命令
  348. #--------------------------------------------------------------------------
  349. def phase3_next_actor
  350.    # 循环
  351.    begin
  352.      # 角色的明灭效果 OFF
  353.      if @active_battler != nil
  354.        @active_battler.blink = false
  355.      end
  356.      # 最后的角色的情况
  357.      if @actor_index == $game_party.actors.size-1
  358.        # 开始主回合
  359.        start_phase4
  360.        return
  361.      end
  362.      # 推进角色索引
  363.      @actor_index += 1
  364.      @active_battler = $game_party.actors[@actor_index]
  365.      @active_battler.blink = true
  366.    # 如果角色是在无法接受指令的状态就再试
  367.    end until @active_battler.inputable?
  368.    # 设置角色的命令窗口
  369.    phase3_setup_command_window
  370. end
  371. #--------------------------------------------------------------------------
  372. # ● 转向前一个角色的命令输入
  373. #--------------------------------------------------------------------------
  374. def phase3_prior_actor
  375.    # 循环
  376.    begin
  377.      # 角色的明灭效果 OFF
  378.      if @active_battler != nil
  379.        @active_battler.blink = false
  380.      end
  381.      # 最初的角色的情况下
  382.      if @actor_index == 0
  383.        # 开始同伴指令回合
  384.        start_phase2
  385.        return
  386.      end
  387.      # 返回角色索引
  388.      @actor_index -= 1
  389.      @active_battler = $game_party.actors[@actor_index]
  390.      @active_battler.blink = true
  391.    # 如果角色是在无法接受指令的状态就再试
  392.    end until @active_battler.inputable?
  393.    # 设置角色的命令窗口
  394.    phase3_setup_command_window
  395. end
  396. #--------------------------------------------------------------------------
  397. # ● 设置角色指令窗口
  398. #--------------------------------------------------------------------------
  399. def phase3_setup_command_window
  400.    # 同伴指令窗口无效化
  401.    @party_command_window.active = false
  402.    @party_command_window.visible = false
  403.    # 角色指令窗口无效化
  404.    @actor_command_window.active = true
  405.    @actor_command_window.visible = true
  406.    # 设置角色指令窗口的位置
  407.    @actor_command_window.x = @actor_index * 160
  408.    # 设置索引为 0
  409.    @actor_command_window.index = 0
  410. end
  411. #--------------------------------------------------------------------------
  412. # ● 刷新画面 (角色命令回合)
  413. #--------------------------------------------------------------------------
  414. def update_phase3
  415.    # 敌人光标有效的情况下
  416.    if @enemy_arrow != nil
  417.      update_phase3_enemy_select
  418.    # 角色光标有效的情况下
  419.    elsif @actor_arrow != nil
  420.      update_phase3_actor_select
  421.    # 特技窗口有效的情况下
  422.    elsif @skill_window != nil
  423.      update_phase3_skill_select
  424.    # 物品窗口有效的情况下
  425.    elsif @item_window != nil
  426.      update_phase3_item_select
  427.    # 角色指令窗口有效的情况下
  428.    elsif @actor_command_window.active
  429.      update_phase3_basic_command
  430.    end
  431. end
  432. #--------------------------------------------------------------------------
  433. # ● 刷新画面 (角色命令回合 : 基本命令)
  434. #--------------------------------------------------------------------------
  435. def update_phase3_basic_command
  436.    # 按下 B 键的情况下
  437.    if Input.trigger?(Input::B)
  438.      # 演奏取消 SE
  439.      $game_system.se_play($data_system.cancel_se)
  440.      # 转向前一个角色的指令输入
  441.      phase3_prior_actor
  442.      return
  443.    end
  444.    # 按下 C 键的情况下
  445.    if Input.trigger?(Input::C)
  446.      # 角色指令窗口光标位置分之
  447.      case @actor_command_window.index
  448.      when 0  # 攻击
  449.        # 演奏确定 SE
  450.        $game_system.se_play($data_system.decision_se)
  451.        # 设置行动
  452.        @active_battler.current_action.kind = 0
  453.        @active_battler.current_action.basic = 0
  454.        # 开始选择敌人
  455.        start_enemy_select
  456.      when 1  # 特技
  457.        # 演奏确定 SE
  458.        $game_system.se_play($data_system.decision_se)
  459.        # 设置行动
  460.        @active_battler.current_action.kind = 1
  461.        # 开始选择特技
  462.        start_skill_select
  463.      when 2  # 防御
  464.        # 演奏确定 SE
  465.        $game_system.se_play($data_system.decision_se)
  466.        # 设置行动
  467.        @active_battler.current_action.kind = 0
  468.        @active_battler.current_action.basic = 1
  469.        # 转向下一位角色的指令输入
  470.        phase3_next_actor
  471.      when 3  # 物品
  472.        # 演奏确定 SE
  473.        $game_system.se_play($data_system.decision_se)
  474.        # 设置行动
  475.        @active_battler.current_action.kind = 2
  476.        # 开始选择物品
  477.        start_item_select
  478.      when 4
  479.        enemies_agi = 0
  480.        enemies_number = 0
  481.        for enemy in $game_troop.enemies
  482.      if enemy.exist?
  483.        enemies_agi += enemy.agi
  484.        enemies_number += 1
  485.        end
  486.        end
  487.      if enemies_number > 0
  488.        enemies_agi /= enemies_number
  489.        end
  490.        # 计算角色速度的平均值
  491.        actors_agi = 0
  492.        actors_number = 0
  493.        for actor in $game_party.actors
  494.        if actor.exist?
  495.        actors_agi += actor.agi
  496.        actors_number += 1
  497.        end
  498.        end
  499.     if actors_number > 0
  500.       actors_agi /= actors_number
  501.       end
  502.        # 逃跑成功判定
  503.        success = rand(100) < 50 * actors_agi / enemies_agi
  504.        # 成功逃跑的情况下
  505.        if success
  506.        # 演奏逃跑 SE
  507.        $game_system.se_play($data_system.escape_se)
  508.        # 还原为战斗开始前的 BGM
  509.        $game_system.bgm_play($game_temp.map_bgm)
  510.        # 战斗结束
  511.        $game_temp.battle_abort = true
  512.        # 逃跑失败的情况下
  513.        else
  514.        # 清除全体同伴的行动
  515.        $game_party.clear_actions
  516.        # 开始主回合
  517.        start_phase4
  518.        end
  519.      end
  520.      return
  521.    end
  522. end
  523. #--------------------------------------------------------------------------
  524. # ● 刷新画面 (角色命令回合 : 选择特技)
  525. #--------------------------------------------------------------------------
  526. def update_phase3_skill_select
  527.    # 设置特技窗口为可视状态
  528.    @skill_window.visible = true
  529.    # 刷新特技窗口
  530.    @skill_window.update
  531.    # 按下 B 键的情况下
  532.    if Input.trigger?(Input::B)
  533.      # 演奏取消 SE
  534.      $game_system.se_play($data_system.cancel_se)
  535.      # 结束特技选择
  536.      end_skill_select
  537.      return
  538.    end
  539.    # 按下 C 键的情况下
  540.    if Input.trigger?(Input::C)
  541.      # 获取特技选择窗口现在选择的特技的数据
  542.      @skill = @skill_window.skill
  543.      # 无法使用的情况下
  544.      if @skill == nil or not @active_battler.skill_can_use?(@skill.id)
  545.        # 演奏冻结 SE
  546.        $game_system.se_play($data_system.buzzer_se)
  547.        return
  548.      end
  549.      # 演奏确定 SE
  550.      $game_system.se_play($data_system.decision_se)
  551.      # 设置行动
  552.      @active_battler.current_action.skill_id = @skill.id
  553.      # 设置特技窗口为不可见状态
  554.      @skill_window.visible = false
  555.      # 效果范围是敌单体的情况下
  556.      if @skill.scope == 1
  557.        # 开始选择敌人
  558.        start_enemy_select
  559.      # 效果范围是我方单体的情况下
  560.      elsif @skill.scope == 3 or @skill.scope == 5
  561.        # 开始选择角色
  562.        start_actor_select
  563.      # 效果范围不是单体的情况下
  564.      else
  565.        # 选择特技结束
  566.        end_skill_select
  567.        # 转到下一位角色的指令输入
  568.        phase3_next_actor
  569.      end
  570.      return
  571.    end
  572. end
  573. #--------------------------------------------------------------------------
  574. # ● 刷新画面 (角色命令回合 : 选择物品)
  575. #--------------------------------------------------------------------------
  576. def update_phase3_item_select
  577.    # 设置物品窗口为可视状态
  578.    @item_window.visible = true
  579.    # 刷新物品窗口
  580.    @item_window.update
  581.    # 按下 B 键的情况下
  582.    if Input.trigger?(Input::B)
  583.      # 演奏取消 SE
  584.      $game_system.se_play($data_system.cancel_se)
  585.      # 选择物品结束
  586.      end_item_select
  587.      return
  588.    end
  589.    # 按下 C 键的情况下
  590.    if Input.trigger?(Input::C)
  591.      # 获取物品窗口现在选择的物品资料
  592.      @item = @item_window.item
  593.      # 无法使用的情况下
  594.      unless $game_party.item_can_use?(@item.id)
  595.        # 演奏冻结 SE
  596.        $game_system.se_play($data_system.buzzer_se)
  597.        return
  598.      end
  599.      # 演奏确定 SE
  600.      $game_system.se_play($data_system.decision_se)
  601.      # 设置行动
  602.      @active_battler.current_action.item_id = @item.id
  603.      # 设置物品窗口为不可见状态
  604.      @item_window.visible = false
  605.      # 效果范围是敌单体的情况下
  606.      if @item.scope == 1
  607.        # 开始选择敌人
  608.        start_enemy_select
  609.      # 效果范围是我方单体的情况下
  610.      elsif @item.scope == 3 or @item.scope == 5
  611.        # 开始选择角色
  612.        start_actor_select
  613.      # 效果范围不是单体的情况下
  614.      else
  615.        # 物品选择结束
  616.        end_item_select
  617.        # 转到下一位角色的指令输入
  618.        phase3_next_actor
  619.      end
  620.      return
  621.    end
  622. end
  623. #--------------------------------------------------------------------------
  624. # ● 刷新画面画面 (角色命令回合 : 选择敌人)
  625. #--------------------------------------------------------------------------
  626. def update_phase3_enemy_select
  627.    # 刷新敌人箭头
  628.    @enemy_arrow.update
  629.    # 按下 B 键的情况下
  630.    if Input.trigger?(Input::B)
  631.      # 演奏取消 SE
  632.      $game_system.se_play($data_system.cancel_se)
  633.      # 选择敌人结束
  634.      end_enemy_select
  635.      return
  636.    end
  637.    # 按下 C 键的情况下
  638.    if Input.trigger?(Input::C)
  639.      # 演奏确定 SE
  640.      $game_system.se_play($data_system.decision_se)
  641.      # 设置行动
  642.      @active_battler.current_action.target_index = @enemy_arrow.index
  643.      # 选择敌人结束
  644.      end_enemy_select
  645.      # 显示特技窗口中的情况下
  646.      if @skill_window != nil
  647.        # 结束特技选择
  648.        end_skill_select
  649.      end
  650.      # 显示物品窗口的情况下
  651.      if @item_window != nil
  652.        # 结束物品选择
  653.        end_item_select
  654.      end
  655.      # 转到下一位角色的指令输入
  656.      phase3_next_actor
  657.    end
  658. end
  659. #--------------------------------------------------------------------------
  660. # ● 画面更新 (角色指令回合 : 选择角色)
  661. #--------------------------------------------------------------------------
  662. def update_phase3_actor_select
  663.    # 刷新角色箭头
  664.    @actor_arrow.update
  665.    # 按下 B 键的情况下
  666.    if Input.trigger?(Input::B)
  667.      # 演奏取消 SE
  668.      $game_system.se_play($data_system.cancel_se)
  669.      # 选择角色结束
  670.      end_actor_select
  671.      return
  672.    end
  673.    # 按下 C 键的情况下
  674.    if Input.trigger?(Input::C)
  675.      # 演奏确定 SE
  676.      $game_system.se_play($data_system.decision_se)
  677.      # 设置行动
  678.      @active_battler.current_action.target_index = @actor_arrow.index
  679.      # 选择角色结束
  680.      end_actor_select
  681.      # 显示特技窗口中的情况下
  682.      if @skill_window != nil
  683.        # 结束特技选择
  684.        end_skill_select
  685.      end
  686.      # 显示物品窗口的情况下
  687.      if @item_window != nil
  688.        # 结束物品选择
  689.        end_item_select
  690.      end
  691.      # 转到下一位角色的指令输入
  692.      phase3_next_actor
  693.    end
  694. end
  695. #--------------------------------------------------------------------------
  696. # ● 开始选择敌人
  697. #--------------------------------------------------------------------------
  698. def start_enemy_select
  699.    # 生成敌人箭头
  700.    @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
  701.    # 关联帮助窗口
  702.    @enemy_arrow.help_window = @help_window
  703.    # 无效化角色指令窗口
  704.    @actor_command_window.active = false
  705.    @actor_command_window.visible = false
  706. end
  707. #--------------------------------------------------------------------------
  708. # ● 结束选择敌人
  709. #--------------------------------------------------------------------------
  710. def end_enemy_select
  711.    # 释放敌人箭头
  712.    @enemy_arrow.dispose
  713.    @enemy_arrow = nil
  714.    # 指令为 [战斗] 的情况下
  715.    if @actor_command_window.index == 0
  716.      # 有效化角色指令窗口
  717.      @actor_command_window.active = true
  718.      @actor_command_window.visible = true
  719.      # 隐藏帮助窗口
  720.      @help_window.visible = false
  721.    end
  722. end
  723. #--------------------------------------------------------------------------
  724. # ● 开始选择角色
  725. #--------------------------------------------------------------------------
  726. def start_actor_select
  727.    # 生成角色箭头
  728.    @actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
  729.    @actor_arrow.index = @actor_index
  730.    # 关联帮助窗口
  731.    @actor_arrow.help_window = @help_window
  732.    # 无效化角色指令窗口
  733.    @actor_command_window.active = false
  734.    @actor_command_window.visible = false
  735. end
  736. #--------------------------------------------------------------------------
  737. # ● 结束选择角色
  738. #--------------------------------------------------------------------------
  739. def end_actor_select
  740.    # 释放角色箭头
  741.    @actor_arrow.dispose
  742.    @actor_arrow = nil
  743. end
  744. #--------------------------------------------------------------------------
  745. # ● 开始选择特技
  746. #--------------------------------------------------------------------------
  747. def start_skill_select
  748.    # 生成特技窗口
  749.    @skill_window = Window_Skill.new(@active_battler)
  750.    # 关联帮助窗口
  751.    @skill_window.help_window = @help_window
  752.    # 无效化角色指令窗口
  753.    @actor_command_window.active = false
  754.    @actor_command_window.visible = false
  755. end
  756. #--------------------------------------------------------------------------
  757. # ● 选择特技结束
  758. #--------------------------------------------------------------------------
  759. def end_skill_select
  760.    # 释放特技窗口
  761.    @skill_window.dispose
  762.    @skill_window = nil
  763.    # 隐藏帮助窗口
  764.    @help_window.visible = false
  765.    # 有效化角色指令窗口
  766.    @actor_command_window.active = true
  767.    @actor_command_window.visible = true
  768. end
  769. #--------------------------------------------------------------------------
  770. # ● 开始选择物品
  771. #--------------------------------------------------------------------------
  772. def start_item_select
  773.    # 生成物品窗口
  774.    @item_window = Window_Item.new
  775.    # 关联帮助窗口
  776.    @item_window.help_window = @help_window
  777.    # 无效化角色指令窗口
  778.    @actor_command_window.active = false
  779.    @actor_command_window.visible = false
  780. end
  781. #--------------------------------------------------------------------------
  782. # ● 结束选择物品
  783. #--------------------------------------------------------------------------
  784. def end_item_select
  785.    # 释放物品窗口
  786.    @item_window.dispose
  787.    @item_window = nil
  788.    # 隐藏帮助窗口
  789.    @help_window.visible = false
  790.    # 有效化角色指令窗口
  791.    @actor_command_window.active = true
  792.    @actor_command_window.visible = true
  793. end
  794. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
94 小时
注册时间
2007-6-3
帖子
801
2
 楼主| 发表于 2007-6-16 02:28:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
如何把菜单和战斗的框框改为仙剑的?如何把战斗时的:战斗/逃跑 去掉,改为在特技 物品......那的?
无签名,不解释
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-9-21 02:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表