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

Project1

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

怎么,改变战斗指令框

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-8-20
帖子
60
跳转到指定楼层
1
发表于 2009-3-17 03:54:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人


梦石
0
星屑
89
在线时间
24 小时
注册时间
2006-5-27
帖子
11425

贵宾

2
发表于 2009-3-17 05:55:48 | 只看该作者
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-8-20
帖子
60
3
 楼主| 发表于 2009-3-17 20:55:23 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-5-5
帖子
91
4
发表于 2009-3-17 21:09:03 | 只看该作者
Scene_Battle 3   ● 设置角色指令窗口   
第81行@actor_command_window.x = @actor_index * 160
把它删掉,改为@actor_command_window.x = “随意”
              @actor_command_window.z = 9999
             (如果你用的横版,那么应该把指令窗口盖在角色战斗图上面)
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-8-20
帖子
60
5
 楼主| 发表于 2009-3-18 03:34:37 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-5-5
帖子
91
6
发表于 2009-3-18 20:43:38 | 只看该作者
这个还改了别的部分。
带 # 的你不用看,对照默认改回来(好像删掉就可以,这里我就不管了,我直接复制过来的);
带 @ 的是你要改的部分。

  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 3)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● 开始角色命令回合
  9.   #--------------------------------------------------------------------------
  10.   def start_phase3
  11.     # 转移到回合 3
  12.     @phase = 3
  13.     # 设置觉得为非选择状态
  14.     @actor_index = -1
  15.     @active_battler = nil
  16.     # 输入下一个角色的命令
  17.     phase3_next_actor
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 转到输入下一个角色的命令
  21.   #--------------------------------------------------------------------------
  22.   def phase3_next_actor
  23.     # 循环
  24.     begin
  25.       # 角色的明灭效果 OFF
  26.       if @active_battler != nil
  27.         @active_battler.blink = false
  28.       end
  29.       # 最后的角色的情况
  30.       if @actor_index == $game_party.actors.size-1
  31.         # 开始主回合
  32.         start_phase4
  33.         return
  34.       end
  35.       # 推进角色索引
  36.       @actor_index += 1
  37.       @active_battler = $game_party.actors[@actor_index]
  38.       #######################################################################
  39.       @active_battler.blink = false
  40.       #######################################################################
  41.       @active_battler.blink = true
  42.     # 如果角色是在无法接受指令的状态就再试
  43.     end until @active_battler.inputable?
  44.     # 设置角色的命令窗口
  45.     phase3_setup_command_window
  46.   end
  47.   #--------------------------------------------------------------------------
  48.   # ● 转向前一个角色的命令输入
  49.   #--------------------------------------------------------------------------
  50.   def phase3_prior_actor
  51.     # 循环
  52.     begin
  53.       # 角色的明灭效果 OFF
  54.       if @active_battler != nil
  55.         @active_battler.blink = false
  56.       end
  57.       # 最初的角色的情况下
  58.       if @actor_index == 0
  59.         # 开始同伴指令回合
  60.         start_phase2
  61.         return
  62.       end
  63.       # 返回角色索引
  64.       @actor_index -= 1
  65.       @active_battler = $game_party.actors[@actor_index]
  66.       #######################################################################
  67.       @active_battler.blink = false
  68.       #######################################################################
  69.       @active_battler.blink = true
  70.     # 如果角色是在无法接受指令的状态就再试
  71.     end until @active_battler.inputable?
  72.     # 设置角色的命令窗口
  73.     phase3_setup_command_window
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 设置角色指令窗口
  77.   #--------------------------------------------------------------------------
  78.   def phase3_setup_command_window
  79.     # 同伴指令窗口无效化
  80.     @party_command_window.active = false
  81.     @party_command_window.visible = false
  82.     # 角色指令窗口无效化
  83.     @actor_command_window.active = true
  84.     @actor_command_window.visible = true
  85.     # 设置角色指令窗口的位置@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  86.     @actor_command_window.x = 247
  87.     @actor_command_window.z = 9999
  88.     # 设置索引为 0
  89.     @actor_command_window.index = 0
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● 刷新画面 (角色命令回合)
  93.   #--------------------------------------------------------------------------
  94.   def update_phase3
  95.     # 敌人光标有效的情况下
  96.     if @enemy_arrow != nil
  97.       update_phase3_enemy_select
  98.     # 角色光标有效的情况下
  99.     elsif @actor_arrow != nil
  100.       update_phase3_actor_select
  101.     # 特技窗口有效的情况下
  102.     elsif @skill_window != nil
  103.       update_phase3_skill_select
  104.     # 物品窗口有效的情况下
  105.     elsif @item_window != nil
  106.       update_phase3_item_select
  107.     # 角色指令窗口有效的情况下
  108.     elsif @actor_command_window.active
  109.       update_phase3_basic_command
  110.     end
  111.   end
  112.   #--------------------------------------------------------------------------
  113.   # ● 刷新画面 (角色命令回合 : 基本命令)
  114.   #--------------------------------------------------------------------------
  115.   def update_phase3_basic_command
  116.     # 按下 B 键的情况下
  117.     if Input.trigger?(Input::B)
  118.       # 演奏取消 SE
  119.       $game_system.se_play($data_system.cancel_se)
  120.       # 转向前一个角色的指令输入
  121.       phase3_prior_actor
  122.       return
  123.     end
  124.     # 按下 C 键的情况下
  125.     if Input.trigger?(Input::C)
  126.       # 角色指令窗口光标位置分之
  127.       case @actor_command_window.index
  128.       when 0  # 攻击
  129.         # 演奏确定 SE
  130.         $game_system.se_play($data_system.decision_se)
  131.         # 设置行动
  132.         @active_battler.current_action.kind = 0
  133.         @active_battler.current_action.basic = 0
  134.         # 开始选择敌人
  135.         start_enemy_select
  136.       when 1  # 特技
  137.         # 演奏确定 SE
  138.         $game_system.se_play($data_system.decision_se)
  139.         # 设置行动
  140.         @active_battler.current_action.kind = 1
  141.         # 开始选择特技
  142.         start_skill_select
  143.       when 2  # 防御
  144.         # 演奏确定 SE
  145.         $game_system.se_play($data_system.decision_se)
  146.         # 设置行动
  147.         @active_battler.current_action.kind = 0
  148.         @active_battler.current_action.basic = 1
  149.         # 转向下一位角色的指令输入
  150.         phase3_next_actor
  151.       when 3  # 物品
  152.         # 演奏确定 SE
  153.         $game_system.se_play($data_system.decision_se)
  154.         # 设置行动
  155.         @active_battler.current_action.kind = 2
  156.         # 开始选择物品
  157.         start_item_select
  158.   ###########################################################################
  159.       when 4  # 我逃
  160.         if $game_temp.battle_can_escape == false
  161.           # 演奏冻结 SE
  162.           $game_system.se_play($data_system.buzzer_se)
  163.           return
  164.         end
  165.         # 演奏确定 SE
  166.         $game_system.se_play($data_system.decision_se)
  167.         # 逃走处理
  168.         update_phase2_escape
  169.   ###########################################################################
  170.       end
  171.       return
  172.     end
  173.   end
  174.   #--------------------------------------------------------------------------
  175.   # ● 刷新画面 (角色命令回合 : 选择特技)
  176.   #--------------------------------------------------------------------------
  177.   def update_phase3_skill_select
  178.     # 设置特技窗口为可视状态
  179.     @skill_window.visible = true
  180.     # 刷新特技窗口
  181.     @skill_window.update
  182.     # 按下 B 键的情况下
  183.     if Input.trigger?(Input::B)
  184.       # 演奏取消 SE
  185.       $game_system.se_play($data_system.cancel_se)
  186.       # 结束特技选择
  187.       end_skill_select
  188.       return
  189.     end
  190.     # 按下 C 键的情况下
  191.     if Input.trigger?(Input::C)
  192.       # 获取特技选择窗口现在选择的特技的数据
  193.       @skill = @skill_window.skill
  194.       # 无法使用的情况下
  195.       if @skill == nil or not @active_battler.skill_can_use?(@skill.id)
  196.         # 演奏冻结 SE
  197.         $game_system.se_play($data_system.buzzer_se)
  198.         return
  199.       end
  200.       # 演奏确定 SE
  201.       $game_system.se_play($data_system.decision_se)
  202.       # 设置行动
  203.       @active_battler.current_action.skill_id = @skill.id
  204.       # 设置特技窗口为不可见状态
  205.       @skill_window.visible = false
  206.       # 效果范围是敌单体的情况下
  207.       if @skill.scope == 1
  208.         # 开始选择敌人
  209.         start_enemy_select
  210.       # 效果范围是我方单体的情况下
  211.       elsif @skill.scope == 3 or @skill.scope == 5
  212.         # 开始选择角色
  213.         start_actor_select
  214.       # 效果范围不是单体的情况下
  215.       else
  216.         # 选择特技结束
  217.         end_skill_select
  218.         # 转到下一位角色的指令输入
  219.         phase3_next_actor
  220.       end
  221.       return
  222.     end
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ● 刷新画面 (角色命令回合 : 选择物品)
  226.   #--------------------------------------------------------------------------
  227.   def update_phase3_item_select
  228.     # 设置物品窗口为可视状态
  229.     @item_window.visible = true
  230.     # 刷新物品窗口
  231.     @item_window.update
  232.     # 按下 B 键的情况下
  233.     if Input.trigger?(Input::B)
  234.       # 演奏取消 SE
  235.       $game_system.se_play($data_system.cancel_se)
  236.       # 选择物品结束
  237.       end_item_select
  238.       return
  239.     end
  240.     # 按下 C 键的情况下
  241.     if Input.trigger?(Input::C)
  242.       # 获取物品窗口现在选择的物品资料
  243.       @item = @item_window.item
  244.       # 无法使用的情况下
  245.       unless $game_party.item_can_use?(@item.id)
  246.         # 演奏冻结 SE
  247.         $game_system.se_play($data_system.buzzer_se)
  248.         return
  249.       end
  250.       # 演奏确定 SE
  251.       $game_system.se_play($data_system.decision_se)
  252.       # 设置行动
  253.       @active_battler.current_action.item_id = @item.id
  254.       # 设置物品窗口为不可见状态
  255.       @item_window.visible = false
  256.       # 效果范围是敌单体的情况下
  257.       if @item.scope == 1
  258.         # 开始选择敌人
  259.         start_enemy_select
  260.       # 效果范围是我方单体的情况下
  261.       elsif @item.scope == 3 or @item.scope == 5
  262.         # 开始选择角色
  263.         start_actor_select
  264.       # 效果范围不是单体的情况下
  265.       else
  266.         # 物品选择结束
  267.         end_item_select
  268.         # 转到下一位角色的指令输入
  269.         phase3_next_actor
  270.       end
  271.       return
  272.     end
  273.   end
  274.   #--------------------------------------------------------------------------
  275.   # ● 刷新画面画面 (角色命令回合 : 选择敌人)
  276.   #--------------------------------------------------------------------------
  277.   def update_phase3_enemy_select
  278.     # 刷新敌人箭头
  279.     @enemy_arrow.update
  280.     # 按下 B 键的情况下
  281.     if Input.trigger?(Input::B)
  282.       # 演奏取消 SE
  283.       $game_system.se_play($data_system.cancel_se)
  284.       # 选择敌人结束
  285.       end_enemy_select
  286.       return
  287.     end
  288.     # 按下 C 键的情况下
  289.     if Input.trigger?(Input::C)
  290.       # 演奏确定 SE
  291.       $game_system.se_play($data_system.decision_se)
  292.       # 设置行动
  293.       @active_battler.current_action.target_index = @enemy_arrow.index
  294.       # 选择敌人结束
  295.       end_enemy_select
  296.       # 显示特技窗口中的情况下
  297.       if @skill_window != nil
  298.         # 结束特技选择
  299.         end_skill_select
  300.       end
  301.       # 显示物品窗口的情况下
  302.       if @item_window != nil
  303.         # 结束物品选择
  304.         end_item_select
  305.       end
  306.       # 转到下一位角色的指令输入
  307.       phase3_next_actor
  308.     end
  309.   end
  310.   #--------------------------------------------------------------------------
  311.   # ● 画面更新 (角色指令回合 : 选择角色)
  312.   #--------------------------------------------------------------------------
  313.   def update_phase3_actor_select
  314.     # 刷新角色箭头
  315.     @actor_arrow.update
  316.     # 按下 B 键的情况下
  317.     if Input.trigger?(Input::B)
  318.       # 演奏取消 SE
  319.       $game_system.se_play($data_system.cancel_se)
  320.       # 选择角色结束
  321.       end_actor_select
  322.       return
  323.     end
  324.     # 按下 C 键的情况下
  325.     if Input.trigger?(Input::C)
  326.       # 演奏确定 SE
  327.       $game_system.se_play($data_system.decision_se)
  328.       # 设置行动
  329.       @active_battler.current_action.target_index = @actor_arrow.index
  330.       # 选择角色结束
  331.       end_actor_select
  332.       # 显示特技窗口中的情况下
  333.       if @skill_window != nil
  334.         # 结束特技选择
  335.         end_skill_select
  336.       end
  337.       # 显示物品窗口的情况下
  338.       if @item_window != nil
  339.         # 结束物品选择
  340.         end_item_select
  341.       end
  342.       # 转到下一位角色的指令输入
  343.       phase3_next_actor
  344.     end
  345.   end
  346.   #--------------------------------------------------------------------------
  347.   # ● 开始选择敌人
  348.   #--------------------------------------------------------------------------
  349.   def start_enemy_select
  350.     # 生成敌人箭头
  351.     @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
  352.     # 关联帮助窗口
  353.     @enemy_arrow.help_window = @help_window
  354.     # 无效化角色指令窗口
  355.     @actor_command_window.active = false
  356.     @actor_command_window.visible = false
  357.   end
  358.   #--------------------------------------------------------------------------
  359.   # ● 结束选择敌人
  360.   #--------------------------------------------------------------------------
  361.   def end_enemy_select
  362.     # 释放敌人箭头
  363.     @enemy_arrow.dispose
  364.     @enemy_arrow = nil
  365.     # 指令为 [战斗] 的情况下
  366.     if @actor_command_window.index == 0
  367.       # 有效化角色指令窗口
  368.       @actor_command_window.active = true
  369.       @actor_command_window.visible = true
  370.       # 隐藏帮助窗口
  371.       @help_window.visible = false
  372.     end
  373.   end
  374.   #--------------------------------------------------------------------------
  375.   # ● 开始选择角色
  376.   #--------------------------------------------------------------------------
  377.   def start_actor_select
  378.     # 生成角色箭头
  379.     @actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
  380.     @actor_arrow.index = @actor_index
  381.     # 关联帮助窗口
  382.     @actor_arrow.help_window = @help_window
  383.     # 无效化角色指令窗口
  384.     @actor_command_window.active = false
  385.     @actor_command_window.visible = false
  386.   end
  387.   #--------------------------------------------------------------------------
  388.   # ● 结束选择角色
  389.   #--------------------------------------------------------------------------
  390.   def end_actor_select
  391.     # 释放角色箭头
  392.     @actor_arrow.dispose
  393.     @actor_arrow = nil
  394.   end
  395.   #--------------------------------------------------------------------------
  396.   # ● 开始选择特技
  397.   #--------------------------------------------------------------------------
  398.   def start_skill_select
  399.     # 生成特技窗口
  400.     @skill_window = Window_Skill.new(@active_battler)
  401.     @skill_window.z = 9999
  402.     # 关联帮助窗口
  403.     @skill_window.help_window = @help_window
  404.     # 无效化角色指令窗口
  405.     @actor_command_window.active = false
  406.     @actor_command_window.visible = false
  407.   end
  408.   #--------------------------------------------------------------------------
  409.   # ● 选择特技结束
  410.   #--------------------------------------------------------------------------
  411.   def end_skill_select
  412.     # 释放特技窗口
  413.     @skill_window.dispose
  414.     @skill_window = nil
  415.     # 隐藏帮助窗口
  416.     @help_window.visible = false
  417.     # 有效化角色指令窗口
  418.     @actor_command_window.active = true
  419.     @actor_command_window.visible = true
  420.   end
  421.   #--------------------------------------------------------------------------
  422.   # ● 开始选择物品
  423.   #--------------------------------------------------------------------------
  424.   def start_item_select
  425.     # 生成物品窗口
  426.     @item_window = Window_Item.new
  427.     @item_window.z = 9999
  428.     # 关联帮助窗口
  429.     @item_window.help_window = @help_window
  430.     # 无效化角色指令窗口
  431.     @actor_command_window.active = false
  432.     @actor_command_window.visible = false
  433.   end
  434.   #--------------------------------------------------------------------------
  435.   # ● 结束选择物品
  436.   #--------------------------------------------------------------------------
  437.   def end_item_select
  438.     # 释放物品窗口
  439.     @item_window.dispose
  440.     @item_window = nil
  441.     # 隐藏帮助窗口
  442.     @help_window.visible = false
  443.     # 有效化角色指令窗口
  444.     @actor_command_window.active = true
  445.     @actor_command_window.visible = true
  446.   end
  447. end
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2025-1-17 01:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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