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

Project1

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

[已经解决] 怎么改战斗框(攻击 特技 防御 物品)改到人物的身上

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
16 小时
注册时间
2010-6-19
帖子
36
跳转到指定楼层
1
发表于 2010-7-3 18:35:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x

Lv1.梦旅人

梦石
0
星屑
59
在线时间
197 小时
注册时间
2010-6-18
帖子
342
2
发表于 2010-7-3 19:30:37 | 只看该作者
去看看横版战斗视频教程,也许有用
叫咱小明同学。
我的微博,节操一直在掉,偶尔会说一些正经事情
如果你也中二的话,就来找我吧_(:зゝ∠)_
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
45 小时
注册时间
2009-10-6
帖子
229
3
发表于 2010-7-3 20:38:31 | 只看该作者
这个也是有坐标的。。。。。。找找就有答案
战争乃至凶之物,它扭曲人性,
摧残信仰,它拆散家庭,
毁灭国家。任何灾难,
都与之相形见拙。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

宛若

梦石
0
星屑
1568
在线时间
526 小时
注册时间
2007-8-19
帖子
1493

极短24参与开拓者

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

评分

参与人数 1星屑 +400 收起 理由
「旅」 + 400 认可答案

查看全部评分

[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 05:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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