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

Project1

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

[已经解决] 平时用技能或者物品时角色信息栏的修改。

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
跳转到指定楼层
1
发表于 2013-9-24 13:14:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  就是说把原本的改成像P的图上的那样,等到光标选中该角色时才显示角色的相关信息,比如HP/SP/LV/STR等信息。请高手帮帮忙。

点评

还早着呢。。。  发表于 2013-10-4 12:24
莫急…  发表于 2013-10-3 21:27

博客:我的博客

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
2
 楼主| 发表于 2013-9-26 16:59:40 | 只看该作者
没人……

点评

你看看版规,就知道会不会关了  发表于 2013-10-4 11:13
放假了再看看吧,应该可以办到  发表于 2013-9-28 19:01
谢谢,爱S你了。我等着。  发表于 2013-9-26 21:48
表示周末可以帮你  发表于 2013-9-26 17:06
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
发表于 2013-9-28 13:13:00 | 只看该作者
那原来的状态界面不要了?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2744
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

4
发表于 2013-9-28 15:35:49 | 只看该作者
做好了
截图如下

代码如下
  1. class Window_Base < Window
  2.   #--------------------------------------------------------------------------
  3.   # ● 描绘能力值
  4.   #     actor : 角色
  5.   #     x     : 描画目标 X 坐标
  6.   #     y     : 描画目标 Y 坐标
  7.   #     type  : 能力值种类 (0~6)
  8.   #--------------------------------------------------------------------------
  9.   def draw_actor_parameter(actor, x, y, type, distance = 120)
  10.     case type
  11.     when 0
  12.       parameter_name = $data_system.words.atk
  13.       parameter_value = actor.atk
  14.     when 1
  15.       parameter_name = $data_system.words.pdef
  16.       parameter_value = actor.pdef
  17.     when 2
  18.       parameter_name = $data_system.words.mdef
  19.       parameter_value = actor.mdef
  20.     when 3
  21.       parameter_name = $data_system.words.str
  22.       parameter_value = actor.str
  23.     when 4
  24.       parameter_name = $data_system.words.dex
  25.       parameter_value = actor.dex
  26.     when 5
  27.       parameter_name = $data_system.words.agi
  28.       parameter_value = actor.agi
  29.     when 6
  30.       parameter_name = $data_system.words.int
  31.       parameter_value = actor.int
  32.     end
  33.     self.contents.font.color = system_color
  34.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(x + distance, y, 36, 32, parameter_value.to_s, 2)
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 描绘 HP
  40.   #     actor : 角色
  41.   #     x     : 描画目标 X 坐标
  42.   #     y     : 描画目标 Y 坐标
  43.   #     width : 描画目标的宽
  44.   #--------------------------------------------------------------------------
  45.   def draw_actor_hp(actor, x, y, width = 144, normal = true)
  46.     # 描绘字符串 "HP"
  47.     self.contents.font.color = system_color
  48.     self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
  49.     # 计算描绘 MaxHP 所需的空间
  50.     if normal
  51.       if width - 32 >= 108
  52.         hp_x = x + width - 108
  53.         flag = true
  54.       elsif width - 32 >= 48
  55.         hp_x = x + width - 48
  56.         flag = false
  57.       end
  58.     else
  59.       hp_x = x + 24
  60.       flag = true
  61.     end
  62.     # 描绘 HP
  63.     self.contents.font.color = actor.hp == 0 ? knockout_color :
  64.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  65.     self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
  66.     # 描绘 MaxHP
  67.     if flag
  68.       self.contents.font.color = normal_color
  69.       self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
  70.       self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
  71.     end
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 描绘 SP
  75.   #     actor : 角色
  76.   #     x     : 描画目标 X 坐标
  77.   #     y     : 描画目标 Y 坐标
  78.   #     width : 描画目标的宽
  79.   #--------------------------------------------------------------------------
  80.   def draw_actor_sp(actor, x, y, width = 144, normal = true)
  81.     # 描绘字符串 "SP"
  82.     self.contents.font.color = system_color
  83.     self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
  84.     # 计算描绘 MaxSP 所需的空间
  85.     if normal
  86.       if width - 32 >= 108
  87.         sp_x = x + width - 108
  88.         flag = true
  89.       elsif width - 32 >= 48
  90.         sp_x = x + width - 48
  91.         flag = false
  92.       end
  93.     else
  94.       sp_x = x + 24
  95.       flag = true
  96.     end
  97.     # 描绘 SP
  98.     self.contents.font.color = actor.sp == 0 ? knockout_color :
  99.       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  100.     self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
  101.     # 描绘 MaxSP
  102.     if flag
  103.       self.contents.font.color = normal_color
  104.       self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
  105.       self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
  106.     end
  107.   end
  108. end
  109. class Window_Target < Window_Selectable
  110.   #--------------------------------------------------------------------------
  111.   # ● 初始化对像
  112.   #--------------------------------------------------------------------------
  113.   def initialize
  114.     super(0, 0, 120, 480)
  115.     self.contents = Bitmap.new(width - 32, height - 32)
  116.     self.z += 10
  117.     @item_max = $game_party.actors.size
  118.     refresh
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● 刷新
  122.   #--------------------------------------------------------------------------
  123.   def refresh
  124.     self.contents.clear
  125.     for i in 0...$game_party.actors.size
  126.       x = 0
  127.       y = i * 116
  128.       actor = $game_party.actors[i]
  129.       draw_actor_name(actor, x, y)
  130.     end
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 刷新光标矩形
  134.   #--------------------------------------------------------------------------
  135.   def update_cursor_rect
  136.     # 光标位置 -1 为全选、-2 以下为单独选择 (使用者自身)
  137.     if [url=home.php?mod=space&uid=370741]@Index[/url] <= -2
  138.       self.cursor_rect.set(0, (@index + 10) * 116, self.width - 32, 96)
  139.     elsif @index == -1
  140.       self.cursor_rect.set(0, 0, self.width - 32, @item_max * 116 - 20)
  141.     else
  142.       self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  143.     end
  144.   end
  145. end
  146. #============================================================================
  147. #============================================================================
  148. #============================================================================
  149. class Window_Controduction < Window_Base
  150.   #--------------------------------------------------------------------------
  151.   # ● 初始化对像
  152.   #     actor : 角色
  153.   #--------------------------------------------------------------------------
  154.   def initialize(actor)
  155.     super(0, 0, 200, 480)
  156.     self.contents = Bitmap.new(width - 32, height - 32)
  157.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  158.     refresh
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ● 刷新
  162.   #--------------------------------------------------------------------------
  163.   def refresh
  164.     self.contents.clear
  165.     self.contents.font.size = 14
  166.     draw_actor_graphic(@actor, 32, 112)
  167.     draw_actor_name(@actor, 0, 0)
  168.     draw_actor_class(@actor, 0 + 80, 0)
  169.     draw_actor_level(@actor, 0, 14)
  170.     draw_actor_state(@actor, 0, 28)
  171.     draw_actor_hp(@actor, 0, 112, 172, false)
  172.     draw_actor_sp(@actor, 0, 144, 172, false)
  173.     draw_actor_parameter(@actor, 0, 192, 0, 48)
  174.     draw_actor_parameter(@actor, 0, 224, 1, 48)
  175.     draw_actor_parameter(@actor, 0, 256, 2, 48)
  176.     draw_actor_parameter(@actor, 0, 304, 3, 48)
  177.     draw_actor_parameter(@actor, 0, 336, 4, 48)
  178.     draw_actor_parameter(@actor, 0, 368, 5, 48)
  179.     draw_actor_parameter(@actor, 0, 400, 6, 48)
  180.     self.contents.font.color = system_color
  181.     self.contents.draw_text(80, 48, 80, 32, "EXP")
  182.     self.contents.draw_text(80, 80, 80, 32, "NEXT")
  183.     self.contents.font.color = normal_color
  184.     self.contents.draw_text(80, 48, 84, 32, @actor.exp_s, 2)
  185.     self.contents.draw_text(80, 80, 84, 32, @actor.next_rest_exp_s, 2)
  186.     self.contents.font.color = system_color
  187.     self.contents.draw_text(96 + 16, 160, 96, 32, "装备")
  188.     draw_item_name($data_weapons[@actor.weapon_id], 96 + 16, 208)
  189.     draw_item_name($data_armors[@actor.armor1_id], 96 + 16, 256)
  190.     draw_item_name($data_armors[@actor.armor2_id], 96 + 16, 304)
  191.     draw_item_name($data_armors[@actor.armor3_id], 96 + 16, 352)
  192.     draw_item_name($data_armors[@actor.armor4_id], 96 + 16, 400)
  193.     self.contents.font.size = 22
  194.   end
  195.   def dummy
  196.     self.contents.font.color = system_color
  197.     self.contents.draw_text(320, 112, 96, 32, $data_system.words.weapon)
  198.     self.contents.draw_text(320, 176, 96, 32, $data_system.words.armor1)
  199.     self.contents.draw_text(320, 240, 96, 32, $data_system.words.armor2)
  200.     self.contents.draw_text(320, 304, 96, 32, $data_system.words.armor3)
  201.     self.contents.draw_text(320, 368, 96, 32, $data_system.words.armor4)
  202.     draw_item_name($data_weapons[@actor.weapon_id], 320 + 24, 144)
  203.     draw_item_name($data_armors[@actor.armor1_id], 320 + 24, 208)
  204.     draw_item_name($data_armors[@actor.armor2_id], 320 + 24, 272)
  205.     draw_item_name($data_armors[@actor.armor3_id], 320 + 24, 336)
  206.     draw_item_name($data_armors[@actor.armor4_id], 320 + 24, 400)
  207.   end
  208. end
  209. #============================================================================
  210. #============================================================================
  211. #============================================================================
  212. class Scene_Item
  213.   #--------------------------------------------------------------------------
  214.   # ● 刷新画面 (物品窗口被激活的情况下)
  215.   #--------------------------------------------------------------------------
  216.   def update_item
  217.     # 按下 B 键的情况下
  218.     if Input.trigger?(Input::B)
  219.       # 演奏取消 SE
  220.       $game_system.se_play($data_system.cancel_se)
  221.       # 切换到菜单画面
  222.       $scene = Scene_Menu.new(0)
  223.       return
  224.     end
  225.     # 按下 C 键的情况下
  226.     if Input.trigger?(Input::C)
  227.       # 获取物品窗口当前选中的物品数据
  228.       @item = @item_window.item
  229.       # 不使用物品的情况下
  230.       unless @item.is_a?(RPG::Item)
  231.         # 演奏冻结 SE
  232.         $game_system.se_play($data_system.buzzer_se)
  233.         return
  234.       end
  235.       # 不能使用的情况下
  236.       unless $game_party.item_can_use?(@item.id)
  237.         # 演奏冻结 SE
  238.         $game_system.se_play($data_system.buzzer_se)
  239.         return
  240.       end
  241.       # 演奏确定 SE
  242.       $game_system.se_play($data_system.decision_se)
  243.       # 效果范围是我方的情况下
  244.       if @item.scope >= 3
  245.         # 激活目标窗口        
  246.         @item_window.active = false
  247.         
  248.         @controduction = Window_Controduction.new($game_party.actors[0])
  249.         @controduction.z = 200
  250.         
  251.         if (@item_window.index + 1) % 2 == 0
  252.           @target_window.x = 200
  253.          
  254.           @controduction.x = 0
  255.          
  256.         elsif (@item_window.index + 1) % 2 == 1
  257.           @target_window.x = 320
  258.          
  259.           @controduction.x = 440
  260.          
  261.         end
  262.         @target_window.visible = true
  263.         @target_window.active = true
  264.         
  265.         @controduction.visible = true
  266.         
  267.         # 设置效果范围 (单体/全体) 的对应光标位置
  268.         if @item.scope == 4 || @item.scope == 6
  269.           @target_window.index = -1
  270.         else
  271.           @target_window.index = 0
  272.         end
  273.       # 效果在我方以外的情况下
  274.       else
  275.         # 公共事件 ID 有效的情况下
  276.         if @item.common_event_id > 0
  277.           # 预约调用公共事件
  278.           $game_temp.common_event_id = @item.common_event_id
  279.           # 演奏物品使用时的 SE
  280.           $game_system.se_play(@item.menu_se)
  281.           # 消耗品的情况下
  282.           if @item.consumable
  283.             # 使用的物品数减 1
  284.             $game_party.lose_item(@item.id, 1)
  285.             # 再描绘物品窗口的项目
  286.             @item_window.draw_item(@item_window.index)
  287.           end
  288.           # 切换到地图画面
  289.           $scene = Scene_Map.new
  290.           return
  291.         end
  292.       end
  293.       return
  294.     end
  295.   end
  296.   #--------------------------------------------------------------------------
  297.   # ● 刷新画面 (目标窗口被激活的情况下)
  298.   #--------------------------------------------------------------------------
  299.   def update_target
  300.    
  301.     @controduction.dispose
  302.     @controduction = Window_Controduction.new($game_party.actors[@target_window.index])
  303.     @controduction.z = 200
  304.     @controduction.update
  305.    
  306.     if (@item_window.index + 1) % 2 == 0
  307.       @target_window.x = 200
  308.       
  309.       @controduction.x = 0
  310.          
  311.     elsif (@item_window.index + 1) % 2 == 1
  312.       @target_window.x = 320
  313.         
  314.       @controduction.x = 440
  315.          
  316.     end
  317.    
  318.     # 按下 B 键的情况下
  319.     if Input.trigger?(Input::B)
  320.       # 演奏取消 SE
  321.       $game_system.se_play($data_system.cancel_se)
  322.       # 由于物品用完而不能使用的场合
  323.       unless $game_party.item_can_use?(@item.id)
  324.         # 再次生成物品窗口的内容
  325.         @item_window.refresh
  326.       end
  327.       # 删除目标窗口
  328.       @item_window.active = true
  329.       @target_window.visible = false
  330.       @target_window.active = false
  331.       
  332.       @controduction.visible = false
  333.       
  334.       return
  335.     end
  336.     # 按下 C 键的情况下
  337.     if Input.trigger?(Input::C)
  338.       # 如果物品用完的情况下
  339.       if $game_party.item_number(@item.id) == 0
  340.         # 演奏冻结 SE
  341.         $game_system.se_play($data_system.buzzer_se)
  342.         return
  343.       end
  344.       # 目标是全体的情况下
  345.       if @target_window.index == -1
  346.         # 对同伴全体应用物品使用效果
  347.         used = false
  348.         for i in $game_party.actors
  349.           used |= i.item_effect(@item)
  350.         end
  351.       end
  352.       # 目标是单体的情况下
  353.       if @target_window.index >= 0
  354.         # 对目标角色应用物品的使用效果
  355.         target = $game_party.actors[@target_window.index]
  356.         used = target.item_effect(@item)
  357.       end
  358.       # 使用物品的情况下
  359.       if used
  360.         # 演奏物品使用时的 SE
  361.         $game_system.se_play(@item.menu_se)
  362.         # 消耗品的情况下
  363.         if @item.consumable
  364.           # 使用的物品数减 1
  365.           $game_party.lose_item(@item.id, 1)
  366.           # 再描绘物品窗口的项目
  367.           @item_window.draw_item(@item_window.index)
  368.         end
  369.         # 再生成目标窗口的内容
  370.         @target_window.refresh
  371.         # 全灭的情况下
  372.         if $game_party.all_dead?
  373.           # 切换到游戏结束画面
  374.           $scene = Scene_Gameover.new
  375.           return
  376.         end
  377.         # 公共事件 ID 有效的情况下
  378.         if @item.common_event_id > 0
  379.           # 预约调用公共事件
  380.           $game_temp.common_event_id = @item.common_event_id
  381.           # 切换到地图画面
  382.           $scene = Scene_Map.new
  383.           return
  384.         end
  385.       end
  386.       # 无法使用物品的情况下
  387.       unless used
  388.         # 演奏冻结 SE
  389.         $game_system.se_play($data_system.buzzer_se)
  390.       end
  391.       return
  392.     end
  393.   end
  394. end



  395. #==============================================================================
  396. # ■ Scene_Skill
  397. #------------------------------------------------------------------------------
  398. #  处理特技画面的类。
  399. #==============================================================================

  400. class Scene_Skill
  401.   #--------------------------------------------------------------------------
  402.   # ● 刷新画面 (特技窗口被激活的情况下)
  403.   #--------------------------------------------------------------------------
  404.   def update_skill
  405.     # 按下 B 键的情况下
  406.     if Input.trigger?(Input::B)
  407.       # 演奏取消 SE
  408.       $game_system.se_play($data_system.cancel_se)
  409.       # 切换到菜单画面
  410.       $scene = Scene_Menu.new(1)
  411.       return
  412.     end
  413.     # 按下 C 键的情况下
  414.     if Input.trigger?(Input::C)
  415.       # 获取特技窗口现在选择的特技的数据
  416.       [url=home.php?mod=space&uid=260100]@skill[/url] = @skill_window.skill
  417.       # 不能使用的情况下
  418.       if @skill == nil or not @actor.skill_can_use?(@skill.id)
  419.         # 演奏冻结 SE
  420.         $game_system.se_play($data_system.buzzer_se)
  421.         return
  422.       end
  423.       # 演奏确定 SE
  424.       $game_system.se_play($data_system.decision_se)
  425.       # 效果范围是我方的情况下
  426.       if @skill.scope >= 3
  427.         # 激活目标窗口
  428.         @skill_window.active = false
  429.         
  430.         @controduction = Window_Controduction.new($game_party.actors[0])
  431.         @controduction.z = 200
  432.         
  433.         if (@skill_window.index + 1) % 2 == 0
  434.           @target_window.x = 200
  435.          
  436.           @controduction.x = 0
  437.          
  438.         elsif (@skill_window.index + 1) % 2 == 1
  439.           @target_window.x = 320
  440.          
  441.           @controduction.x = 440
  442.          
  443.         end
  444.         @target_window.visible = true
  445.         @target_window.active = true
  446.         
  447.         @controduction.visible = true
  448.         
  449.         
  450.         
  451.         # 设置效果范围 (单体/全体) 的对应光标位置
  452.         if @skill.scope == 4 || @skill.scope == 6
  453.           @target_window.index = -1
  454.         elsif @skill.scope == 7
  455.           @target_window.index = @actor_index - 10
  456.         else
  457.           @target_window.index = 0
  458.         end
  459.       # 效果在我方以外的情况下
  460.       else
  461.         # 公共事件 ID 有效的情况下
  462.         if @skill.common_event_id > 0
  463.           # 预约调用公共事件
  464.           $game_temp.common_event_id = @skill.common_event_id
  465.           # 演奏特技使用时的 SE
  466.           $game_system.se_play(@skill.menu_se)
  467.           # 消耗 SP
  468.           @actor.sp -= @skill.sp_cost
  469.           # 再生成各窗口的内容
  470.           @status_window.refresh
  471.           @skill_window.refresh
  472.           @target_window.refresh
  473.           # 切换到地图画面
  474.           $scene = Scene_Map.new
  475.           return
  476.         end
  477.       end
  478.       return
  479.     end
  480.     # 按下 R 键的情况下
  481.     if Input.trigger?(Input::R)
  482.       # 演奏光标 SE
  483.       $game_system.se_play($data_system.cursor_se)
  484.       # 移至下一位角色
  485.       @actor_index += 1
  486.       @actor_index %= $game_party.actors.size
  487.       # 切换到别的特技画面
  488.       $scene = Scene_Skill.new(@actor_index)
  489.       return
  490.     end
  491.     # 按下 L 键的情况下
  492.     if Input.trigger?(Input::L)
  493.       # 演奏光标 SE
  494.       $game_system.se_play($data_system.cursor_se)
  495.       # 移至上一位角色
  496.       @actor_index += $game_party.actors.size - 1
  497.       @actor_index %= $game_party.actors.size
  498.       # 切换到别的特技画面
  499.       $scene = Scene_Skill.new(@actor_index)
  500.       return
  501.     end
  502.   end
  503.   #--------------------------------------------------------------------------
  504.   # ● 刷新画面 (目标窗口被激活的情况下)
  505.   #--------------------------------------------------------------------------
  506.   def update_target
  507.    
  508.     @controduction.dispose
  509.     @controduction = Window_Controduction.new($game_party.actors[@target_window.index])
  510.     @controduction.z = 200
  511.     @controduction.update
  512.    
  513.     if (@skill_window.index + 1) % 2 == 0
  514.       @target_window.x = 200
  515.       
  516.       @controduction.x = 0
  517.          
  518.     elsif (@skill_window.index + 1) % 2 == 1
  519.       @target_window.x = 320
  520.         
  521.       @controduction.x = 440
  522.          
  523.     end
  524.    
  525.     # 按下 B 键的情况下
  526.     if Input.trigger?(Input::B)
  527.       # 演奏取消 SE
  528.       $game_system.se_play($data_system.cancel_se)
  529.       # 删除目标窗口
  530.       @skill_window.active = true
  531.       @target_window.visible = false
  532.       @target_window.active = false
  533.       
  534.       @controduction.visible = false
  535.       
  536.       return
  537.     end
  538.     # 按下 C 键的情况下
  539.     if Input.trigger?(Input::C)
  540.       # 因为 SP 不足而无法使用的情况下
  541.       unless @actor.skill_can_use?(@skill.id)
  542.         # 演奏冻结 SE
  543.         $game_system.se_play($data_system.buzzer_se)
  544.         return
  545.       end
  546.       # 目标是全体的情况下
  547.       if @target_window.index == -1
  548.         # 对同伴全体应用特技使用效果
  549.         used = false
  550.         for i in $game_party.actors
  551.           used |= i.skill_effect(@actor, @skill)
  552.         end
  553.       end
  554.       # 目标是使用者的情况下
  555.       if @target_window.index <= -2
  556.         # 对目标角色应用特技的使用效果
  557.         target = $game_party.actors[@target_window.index + 10]
  558.         used = target.skill_effect(@actor, @skill)
  559.       end
  560.       # 目标是单体的情况下
  561.       if @target_window.index >= 0
  562.         # 对目标角色应用特技的使用效果
  563.         target = $game_party.actors[@target_window.index]
  564.         used = target.skill_effect(@actor, @skill)
  565.       end
  566.       # 使用特技的情况下
  567.       if used
  568.         # 演奏特技使用时的 SE
  569.         $game_system.se_play(@skill.menu_se)
  570.         # 消耗 SP
  571.         @actor.sp -= @skill.sp_cost
  572.         # 再生成各窗口内容
  573.         @status_window.refresh
  574.         @skill_window.refresh
  575.         @target_window.refresh
  576.         # 全灭的情况下
  577.         if $game_party.all_dead?
  578.           # 切换到游戏结束画面
  579.           $scene = Scene_Gameover.new
  580.           return
  581.         end
  582.         # 公共事件 ID 有效的情况下
  583.         if @skill.common_event_id > 0
  584.           # 预约调用公共事件
  585.           $game_temp.common_event_id = @skill.common_event_id
  586.           # 切换到地图画面
  587.           $scene = Scene_Map.new
  588.           return
  589.         end
  590.       end
  591.       # 无法使用特技的情况下
  592.       unless used
  593.         # 演奏冻结 SE
  594.         $game_system.se_play($data_system.buzzer_se)
  595.       end
  596.       return
  597.     end
  598.   end
  599. end
复制代码
但是有缺陷:如果物品或特技的使用范围是全体,那么会显示最后一个角色的资料。
附上工程 Project1.rar (189.89 KB, 下载次数: 30)

点评

不是触犯版规的问题,是闲置时间太长会被关。  发表于 2013-10-4 12:11
我是怕被版主关了  发表于 2013-10-4 11:12
还没帮我弄吗?囧  发表于 2013-10-3 14:12
好,谢谢。  发表于 2013-9-28 23:36
有没有办法全体的时候只显示全体的HP/SP/状态就行了?这样就解决这个缺陷了。  发表于 2013-9-28 17:59
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2744
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

5
发表于 2013-10-4 14:41:43 | 只看该作者
  1. class Window_Base < Window
  2.   #--------------------------------------------------------------------------
  3.   # ● 描绘能力值
  4.   #     actor : 角色
  5.   #     x     : 描画目标 X 坐标
  6.   #     y     : 描画目标 Y 坐标
  7.   #     type  : 能力值种类 (0~6)
  8.   #--------------------------------------------------------------------------
  9.   def draw_actor_parameter(actor, x, y, type, distance = 120)
  10.     case type
  11.     when 0
  12.       parameter_name = $data_system.words.atk
  13.       parameter_value = actor.atk
  14.     when 1
  15.       parameter_name = $data_system.words.pdef
  16.       parameter_value = actor.pdef
  17.     when 2
  18.       parameter_name = $data_system.words.mdef
  19.       parameter_value = actor.mdef
  20.     when 3
  21.       parameter_name = $data_system.words.str
  22.       parameter_value = actor.str
  23.     when 4
  24.       parameter_name = $data_system.words.dex
  25.       parameter_value = actor.dex
  26.     when 5
  27.       parameter_name = $data_system.words.agi
  28.       parameter_value = actor.agi
  29.     when 6
  30.       parameter_name = $data_system.words.int
  31.       parameter_value = actor.int
  32.     end
  33.     self.contents.font.color = system_color
  34.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(x + distance, y, 36, 32, parameter_value.to_s, 2)
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 描绘 HP
  40.   #     actor : 角色
  41.   #     x     : 描画目标 X 坐标
  42.   #     y     : 描画目标 Y 坐标
  43.   #     width : 描画目标的宽
  44.   #--------------------------------------------------------------------------
  45.   def draw_actor_hp(actor, x, y, width = 144, normal = true)
  46.     # 描绘字符串 "HP"
  47.     self.contents.font.color = system_color
  48.     self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
  49.     # 计算描绘 MaxHP 所需的空间
  50.     if normal
  51.       if width - 32 >= 108
  52.         hp_x = x + width - 108
  53.         flag = true
  54.       elsif width - 32 >= 48
  55.         hp_x = x + width - 48
  56.         flag = false
  57.       end
  58.     else
  59.       hp_x = x + 24
  60.       flag = true
  61.     end
  62.     # 描绘 HP
  63.     self.contents.font.color = actor.hp == 0 ? knockout_color :
  64.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  65.     self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
  66.     # 描绘 MaxHP
  67.     if flag
  68.       self.contents.font.color = normal_color
  69.       self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
  70.       self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
  71.     end
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 描绘 SP
  75.   #     actor : 角色
  76.   #     x     : 描画目标 X 坐标
  77.   #     y     : 描画目标 Y 坐标
  78.   #     width : 描画目标的宽
  79.   #--------------------------------------------------------------------------
  80.   def draw_actor_sp(actor, x, y, width = 144, normal = true)
  81.     # 描绘字符串 "SP"
  82.     self.contents.font.color = system_color
  83.     self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
  84.     # 计算描绘 MaxSP 所需的空间
  85.     if normal
  86.       if width - 32 >= 108
  87.         sp_x = x + width - 108
  88.         flag = true
  89.       elsif width - 32 >= 48
  90.         sp_x = x + width - 48
  91.         flag = false
  92.       end
  93.     else
  94.       sp_x = x + 24
  95.       flag = true
  96.     end
  97.     # 描绘 SP
  98.     self.contents.font.color = actor.sp == 0 ? knockout_color :
  99.       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  100.     self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
  101.     # 描绘 MaxSP
  102.     if flag
  103.       self.contents.font.color = normal_color
  104.       self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
  105.       self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
  106.     end
  107.   end
  108. end
  109. class Window_Target < Window_Selectable
  110.   #--------------------------------------------------------------------------
  111.   # ● 初始化对像
  112.   #--------------------------------------------------------------------------
  113.   def initialize
  114.     super(0, 0, 120, 480)
  115.     self.contents = Bitmap.new(width - 32, height - 32)
  116.     self.z += 10
  117.     @item_max = $game_party.actors.size
  118.     refresh
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● 刷新
  122.   #--------------------------------------------------------------------------
  123.   def refresh
  124.     self.contents.clear
  125.     for i in 0...$game_party.actors.size
  126.       x = 0
  127.       y = i * 116
  128.       actor = $game_party.actors[i]
  129.       draw_actor_name(actor, x, y)
  130.     end
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 刷新光标矩形
  134.   #--------------------------------------------------------------------------
  135.   def update_cursor_rect
  136.     # 光标位置 -1 为全选、-2 以下为单独选择 (使用者自身)
  137.     if @index <= -2
  138.       self.cursor_rect.set(0, (@index + 10) * 116, self.width - 32, 96)
  139.     elsif @index == -1
  140.       self.cursor_rect.set(0, 0, self.width - 32, @item_max * 116 - 20)
  141.     else
  142.       self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  143.     end
  144.   end
  145. end
  146. #============================================================================
  147. #============================================================================
  148. #============================================================================
  149. class Window_Controduction < Window_Base
  150.   #--------------------------------------------------------------------------
  151.   # ● 初始化对像
  152.   #     actor : 角色
  153.   #--------------------------------------------------------------------------
  154.   def initialize(actor, party = false)
  155.     super(0, 0, 200, 480)
  156.     self.contents = Bitmap.new(width - 32, height - 32)
  157.     [url=home.php?mod=space&uid=95897]@actor[/url] = actor
  158.     @party = party
  159.     refresh
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● 刷新
  163.   #--------------------------------------------------------------------------
  164.   def refresh
  165.     unless @party
  166.       self.contents.clear
  167.       self.contents.font.size = 14
  168.       draw_actor_graphic(@actor, 32, 112)
  169.       draw_actor_name(@actor, 0, 0)
  170.       draw_actor_class(@actor, 0 + 80, 0)
  171.       draw_actor_level(@actor, 0, 14)
  172.       draw_actor_state(@actor, 0, 28)
  173.       draw_actor_hp(@actor, 0, 112, 172, false)
  174.       draw_actor_sp(@actor, 0, 144, 172, false)
  175.       draw_actor_parameter(@actor, 0, 192, 0, 48)
  176.       draw_actor_parameter(@actor, 0, 224, 1, 48)
  177.       draw_actor_parameter(@actor, 0, 256, 2, 48)
  178.       draw_actor_parameter(@actor, 0, 304, 3, 48)
  179.       draw_actor_parameter(@actor, 0, 336, 4, 48)
  180.       draw_actor_parameter(@actor, 0, 368, 5, 48)
  181.       draw_actor_parameter(@actor, 0, 400, 6, 48)
  182.       self.contents.font.color = system_color
  183.       self.contents.draw_text(80, 48, 80, 32, "EXP")
  184.       self.contents.draw_text(80, 80, 80, 32, "NEXT")
  185.       self.contents.font.color = normal_color
  186.       self.contents.draw_text(80, 48, 84, 32, @actor.exp_s, 2)
  187.       self.contents.draw_text(80, 80, 84, 32, @actor.next_rest_exp_s, 2)
  188.       self.contents.font.color = system_color
  189.       self.contents.draw_text(96 + 16, 160, 96, 32, "装备")
  190.       draw_item_name($data_weapons[@actor.weapon_id], 96 + 16, 208)
  191.       draw_item_name($data_armors[@actor.armor1_id], 96 + 16, 256)
  192.       draw_item_name($data_armors[@actor.armor2_id], 96 + 16, 304)
  193.       draw_item_name($data_armors[@actor.armor3_id], 96 + 16, 352)
  194.       draw_item_name($data_armors[@actor.armor4_id], 96 + 16, 400)
  195.       self.contents.font.size = 22
  196.     else
  197.       for i in 0...$game_party.actors.size
  198.         x = 4
  199.         y = i * 116
  200.         actor = $game_party.actors[i]
  201.         draw_actor_name(actor, x, y)
  202.         draw_actor_hp(actor, x, y + 32)
  203.         draw_actor_sp(actor, x, y + 64)
  204.       end
  205.     end
  206.   end
  207. end
  208. #============================================================================
  209. #============================================================================
  210. #============================================================================
  211. class Scene_Item
  212.   #--------------------------------------------------------------------------
  213.   # ● 刷新画面 (物品窗口被激活的情况下)
  214.   #--------------------------------------------------------------------------
  215.   def update_item
  216.     # 按下 B 键的情况下
  217.     if Input.trigger?(Input::B)
  218.       # 演奏取消 SE
  219.       $game_system.se_play($data_system.cancel_se)
  220.       # 切换到菜单画面
  221.       $scene = Scene_Menu.new(0)
  222.       return
  223.     end
  224.     # 按下 C 键的情况下
  225.     if Input.trigger?(Input::C)
  226.       # 获取物品窗口当前选中的物品数据
  227.       @item = @item_window.item
  228.       # 不使用物品的情况下
  229.       unless @item.is_a?(RPG::Item)
  230.         # 演奏冻结 SE
  231.         $game_system.se_play($data_system.buzzer_se)
  232.         return
  233.       end
  234.       # 不能使用的情况下
  235.       unless $game_party.item_can_use?(@item.id)
  236.         # 演奏冻结 SE
  237.         $game_system.se_play($data_system.buzzer_se)
  238.         return
  239.       end
  240.       # 演奏确定 SE
  241.       $game_system.se_play($data_system.decision_se)
  242.       # 效果范围是我方的情况下
  243.       if @item.scope >= 3
  244.         # 激活目标窗口        
  245.         @item_window.active = false
  246.         
  247.         @controduction = Window_Controduction.new($game_party.actors[0])
  248.         @controduction.z = 200
  249.         
  250.         if (@item_window.index + 1) % 2 == 0
  251.           @target_window.x = 200
  252.          
  253.           @controduction.x = 0
  254.          
  255.         elsif (@item_window.index + 1) % 2 == 1
  256.           @target_window.x = 320
  257.          
  258.           @controduction.x = 440
  259.          
  260.         end
  261.         @target_window.visible = true
  262.         @target_window.active = true
  263.         
  264.         @controduction.visible = true
  265.         
  266.         # 设置效果范围 (单体/全体) 的对应光标位置
  267.         if @item.scope == 4 || @item.scope == 6
  268.           @target_window.index = -1
  269.          
  270.           @controduction_party = true
  271.          
  272.         else
  273.           @target_window.index = 0
  274.         end
  275.       # 效果在我方以外的情况下
  276.       else
  277.         # 公共事件 ID 有效的情况下
  278.         if @item.common_event_id > 0
  279.           # 预约调用公共事件
  280.           $game_temp.common_event_id = @item.common_event_id
  281.           # 演奏物品使用时的 SE
  282.           $game_system.se_play(@item.menu_se)
  283.           # 消耗品的情况下
  284.           if @item.consumable
  285.             # 使用的物品数减 1
  286.             $game_party.lose_item(@item.id, 1)
  287.             # 再描绘物品窗口的项目
  288.             @item_window.draw_item(@item_window.index)
  289.           end
  290.           # 切换到地图画面
  291.           $scene = Scene_Map.new
  292.           return
  293.         end
  294.       end
  295.       return
  296.     end
  297.   end
  298.   #--------------------------------------------------------------------------
  299.   # ● 刷新画面 (目标窗口被激活的情况下)
  300.   #--------------------------------------------------------------------------
  301.   def update_target
  302.    
  303.     unless @controduction_party
  304.       @controduction.dispose
  305.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index])
  306.       @controduction.z = 200
  307.       @controduction.update
  308.     else
  309.       @controduction.dispose
  310.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index],true)
  311.       @controduction.z = 200
  312.       @controduction.update
  313.     end
  314.    
  315.     if (@item_window.index + 1) % 2 == 0
  316.       @target_window.x = 200
  317.       
  318.       @controduction.x = 0
  319.          
  320.     elsif (@item_window.index + 1) % 2 == 1
  321.       @target_window.x = 320
  322.         
  323.       @controduction.x = 440
  324.          
  325.     end
  326.    
  327.     # 按下 B 键的情况下
  328.     if Input.trigger?(Input::B)
  329.       # 演奏取消 SE
  330.       $game_system.se_play($data_system.cancel_se)
  331.       # 由于物品用完而不能使用的场合
  332.       unless $game_party.item_can_use?(@item.id)
  333.         # 再次生成物品窗口的内容
  334.         @item_window.refresh
  335.       end
  336.       # 删除目标窗口
  337.       @item_window.active = true
  338.       @target_window.visible = false
  339.       @target_window.active = false
  340.       
  341.       @controduction.visible = false
  342.       
  343.       return
  344.     end
  345.     # 按下 C 键的情况下
  346.     if Input.trigger?(Input::C)
  347.       # 如果物品用完的情况下
  348.       if $game_party.item_number(@item.id) == 0
  349.         # 演奏冻结 SE
  350.         $game_system.se_play($data_system.buzzer_se)
  351.         return
  352.       end
  353.       # 目标是全体的情况下
  354.       if @target_window.index == -1
  355.         # 对同伴全体应用物品使用效果
  356.         used = false
  357.         for i in $game_party.actors
  358.           used |= i.item_effect(@item)
  359.         end
  360.       end
  361.       # 目标是单体的情况下
  362.       if @target_window.index >= 0
  363.         # 对目标角色应用物品的使用效果
  364.         target = $game_party.actors[@target_window.index]
  365.         used = target.item_effect(@item)
  366.       end
  367.       # 使用物品的情况下
  368.       if used
  369.         # 演奏物品使用时的 SE
  370.         $game_system.se_play(@item.menu_se)
  371.         # 消耗品的情况下
  372.         if @item.consumable
  373.           # 使用的物品数减 1
  374.           $game_party.lose_item(@item.id, 1)
  375.           # 再描绘物品窗口的项目
  376.           @item_window.draw_item(@item_window.index)
  377.         end
  378.         # 再生成目标窗口的内容
  379.         @target_window.refresh
  380.         # 全灭的情况下
  381.         if $game_party.all_dead?
  382.           # 切换到游戏结束画面
  383.           $scene = Scene_Gameover.new
  384.           return
  385.         end
  386.         # 公共事件 ID 有效的情况下
  387.         if @item.common_event_id > 0
  388.           # 预约调用公共事件
  389.           $game_temp.common_event_id = @item.common_event_id
  390.           # 切换到地图画面
  391.           $scene = Scene_Map.new
  392.           return
  393.         end
  394.       end
  395.       # 无法使用物品的情况下
  396.       unless used
  397.         # 演奏冻结 SE
  398.         $game_system.se_play($data_system.buzzer_se)
  399.       end
  400.       return
  401.     end
  402.   end
  403. end



  404. #==============================================================================
  405. # ■ Scene_Skill
  406. #------------------------------------------------------------------------------
  407. #  处理特技画面的类。
  408. #==============================================================================

  409. class Scene_Skill
  410.   #--------------------------------------------------------------------------
  411.   # ● 刷新画面 (特技窗口被激活的情况下)
  412.   #--------------------------------------------------------------------------
  413.   def update_skill
  414.     # 按下 B 键的情况下
  415.     if Input.trigger?(Input::B)
  416.       # 演奏取消 SE
  417.       $game_system.se_play($data_system.cancel_se)
  418.       # 切换到菜单画面
  419.       $scene = Scene_Menu.new(1)
  420.       return
  421.     end
  422.     # 按下 C 键的情况下
  423.     if Input.trigger?(Input::C)
  424.       # 获取特技窗口现在选择的特技的数据
  425.       [url=home.php?mod=space&uid=260100]@skill[/url] = @skill_window.skill
  426.       # 不能使用的情况下
  427.       if @skill == nil or not @actor.skill_can_use?(@skill.id)
  428.         # 演奏冻结 SE
  429.         $game_system.se_play($data_system.buzzer_se)
  430.         return
  431.       end
  432.       # 演奏确定 SE
  433.       $game_system.se_play($data_system.decision_se)
  434.       # 效果范围是我方的情况下
  435.       if @skill.scope >= 3
  436.         # 激活目标窗口
  437.         @skill_window.active = false
  438.         
  439.         @controduction = Window_Controduction.new($game_party.actors[0])
  440.         @controduction.z = 200
  441.         
  442.         if (@skill_window.index + 1) % 2 == 0
  443.           @target_window.x = 200
  444.          
  445.           @controduction.x = 0
  446.          
  447.         elsif (@skill_window.index + 1) % 2 == 1
  448.           @target_window.x = 320
  449.          
  450.           @controduction.x = 440
  451.          
  452.         end
  453.         @target_window.visible = true
  454.         @target_window.active = true
  455.         
  456.         @controduction.visible = true
  457.         
  458.         
  459.         
  460.         # 设置效果范围 (单体/全体) 的对应光标位置
  461.         if @skill.scope == 4 || @skill.scope == 6
  462.           @target_window.index = -1
  463.          
  464.           @controduction_party = true
  465.          
  466.         elsif @skill.scope == 7
  467.           @target_window.index = @actor_index - 10
  468.         else
  469.           @target_window.index = 0
  470.         end
  471.       # 效果在我方以外的情况下
  472.       else
  473.         # 公共事件 ID 有效的情况下
  474.         if @skill.common_event_id > 0
  475.           # 预约调用公共事件
  476.           $game_temp.common_event_id = @skill.common_event_id
  477.           # 演奏特技使用时的 SE
  478.           $game_system.se_play(@skill.menu_se)
  479.           # 消耗 SP
  480.           @actor.sp -= @skill.sp_cost
  481.           # 再生成各窗口的内容
  482.           @status_window.refresh
  483.           @skill_window.refresh
  484.           @target_window.refresh
  485.           # 切换到地图画面
  486.           $scene = Scene_Map.new
  487.           return
  488.         end
  489.       end
  490.       return
  491.     end
  492.     # 按下 R 键的情况下
  493.     if Input.trigger?(Input::R)
  494.       # 演奏光标 SE
  495.       $game_system.se_play($data_system.cursor_se)
  496.       # 移至下一位角色
  497.       @actor_index += 1
  498.       @actor_index %= $game_party.actors.size
  499.       # 切换到别的特技画面
  500.       $scene = Scene_Skill.new(@actor_index)
  501.       return
  502.     end
  503.     # 按下 L 键的情况下
  504.     if Input.trigger?(Input::L)
  505.       # 演奏光标 SE
  506.       $game_system.se_play($data_system.cursor_se)
  507.       # 移至上一位角色
  508.       @actor_index += $game_party.actors.size - 1
  509.       @actor_index %= $game_party.actors.size
  510.       # 切换到别的特技画面
  511.       $scene = Scene_Skill.new(@actor_index)
  512.       return
  513.     end
  514.   end
  515.   #--------------------------------------------------------------------------
  516.   # ● 刷新画面 (目标窗口被激活的情况下)
  517.   #--------------------------------------------------------------------------
  518.   def update_target
  519.    
  520.     unless @controduction_party
  521.       @controduction.dispose
  522.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index])
  523.       @controduction.z = 200
  524.       @controduction.update
  525.     else
  526.       @controduction.dispose
  527.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index],true)
  528.       @controduction.z = 200
  529.       @controduction.update
  530.     end
  531.    
  532.     if (@skill_window.index + 1) % 2 == 0
  533.       @target_window.x = 200
  534.       
  535.       @controduction.x = 0
  536.          
  537.     elsif (@skill_window.index + 1) % 2 == 1
  538.       @target_window.x = 320
  539.         
  540.       @controduction.x = 440
  541.          
  542.     end
  543.    
  544.     # 按下 B 键的情况下
  545.     if Input.trigger?(Input::B)
  546.       # 演奏取消 SE
  547.       $game_system.se_play($data_system.cancel_se)
  548.       # 删除目标窗口
  549.       @skill_window.active = true
  550.       @target_window.visible = false
  551.       @target_window.active = false
  552.       
  553.       @controduction.visible = false
  554.       
  555.       return
  556.     end
  557.     # 按下 C 键的情况下
  558.     if Input.trigger?(Input::C)
  559.       # 因为 SP 不足而无法使用的情况下
  560.       unless @actor.skill_can_use?(@skill.id)
  561.         # 演奏冻结 SE
  562.         $game_system.se_play($data_system.buzzer_se)
  563.         return
  564.       end
  565.       # 目标是全体的情况下
  566.       if @target_window.index == -1
  567.         # 对同伴全体应用特技使用效果
  568.         used = false
  569.         for i in $game_party.actors
  570.           used |= i.skill_effect(@actor, @skill)
  571.         end
  572.       end
  573.       # 目标是使用者的情况下
  574.       if @target_window.index <= -2
  575.         # 对目标角色应用特技的使用效果
  576.         target = $game_party.actors[@target_window.index + 10]
  577.         used = target.skill_effect(@actor, @skill)
  578.       end
  579.       # 目标是单体的情况下
  580.       if @target_window.index >= 0
  581.         # 对目标角色应用特技的使用效果
  582.         target = $game_party.actors[@target_window.index]
  583.         used = target.skill_effect(@actor, @skill)
  584.       end
  585.       # 使用特技的情况下
  586.       if used
  587.         # 演奏特技使用时的 SE
  588.         $game_system.se_play(@skill.menu_se)
  589.         # 消耗 SP
  590.         @actor.sp -= @skill.sp_cost
  591.         # 再生成各窗口内容
  592.         @status_window.refresh
  593.         @skill_window.refresh
  594.         @target_window.refresh
  595.         # 全灭的情况下
  596.         if $game_party.all_dead?
  597.           # 切换到游戏结束画面
  598.           $scene = Scene_Gameover.new
  599.           return
  600.         end
  601.         # 公共事件 ID 有效的情况下
  602.         if @skill.common_event_id > 0
  603.           # 预约调用公共事件
  604.           $game_temp.common_event_id = @skill.common_event_id
  605.           # 切换到地图画面
  606.           $scene = Scene_Map.new
  607.           return
  608.         end
  609.       end
  610.       # 无法使用特技的情况下
  611.       unless used
  612.         # 演奏冻结 SE
  613.         $game_system.se_play($data_system.buzzer_se)
  614.       end
  615.       return
  616.     end
  617.   end
  618. end
复制代码
做好了,我可是个诚实守信的好孩子。。。

点评

全体使用的时候显示没错了,不过如果再选回单体的话还是显示着全体时的状态栏。  发表于 2013-10-4 16:08
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3176
在线时间
1442 小时
注册时间
2009-7-27
帖子
1454
6
 楼主| 发表于 2013-10-4 14:50:28 | 只看该作者
myownroc 发表于 2013-10-4 14:41
做好了,我可是个诚实守信的好孩子。。。
  1. [url=home.php?mod=space&uid=95897]@actor[/url] = actor
复制代码
这句出错了。

点评

不过我看到帖子时已经离开网吧了,估计明天才能帮到  发表于 2013-10-4 17:14
改为@actor = actor  发表于 2013-10-4 15:01

博客:我的博客
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2744
在线时间
2630 小时
注册时间
2013-1-16
帖子
5657

贵宾

7
发表于 2013-10-4 16:28:43 | 只看该作者
本帖最后由 myownroc 于 2013-10-4 16:31 编辑

@actor  (无视它。。。)改好了

  1. class Window_Base < Window
  2.   #--------------------------------------------------------------------------
  3.   # ● 描绘能力值
  4.   #     actor : 角色
  5.   #     x     : 描画目标 X 坐标
  6.   #     y     : 描画目标 Y 坐标
  7.   #     type  : 能力值种类 (0~6)
  8.   #--------------------------------------------------------------------------
  9.   def draw_actor_parameter(actor, x, y, type, distance = 120)
  10.     case type
  11.     when 0
  12.       parameter_name = $data_system.words.atk
  13.       parameter_value = actor.atk
  14.     when 1
  15.       parameter_name = $data_system.words.pdef
  16.       parameter_value = actor.pdef
  17.     when 2
  18.       parameter_name = $data_system.words.mdef
  19.       parameter_value = actor.mdef
  20.     when 3
  21.       parameter_name = $data_system.words.str
  22.       parameter_value = actor.str
  23.     when 4
  24.       parameter_name = $data_system.words.dex
  25.       parameter_value = actor.dex
  26.     when 5
  27.       parameter_name = $data_system.words.agi
  28.       parameter_value = actor.agi
  29.     when 6
  30.       parameter_name = $data_system.words.int
  31.       parameter_value = actor.int
  32.     end
  33.     self.contents.font.color = system_color
  34.     self.contents.draw_text(x, y, 120, 32, parameter_name)
  35.     self.contents.font.color = normal_color
  36.     self.contents.draw_text(x + distance, y, 36, 32, parameter_value.to_s, 2)
  37.   end
  38.   #--------------------------------------------------------------------------
  39.   # ● 描绘 HP
  40.   #     actor : 角色
  41.   #     x     : 描画目标 X 坐标
  42.   #     y     : 描画目标 Y 坐标
  43.   #     width : 描画目标的宽
  44.   #--------------------------------------------------------------------------
  45.   def draw_actor_hp(actor, x, y, width = 144, normal = true)
  46.     # 描绘字符串 "HP"
  47.     self.contents.font.color = system_color
  48.     self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
  49.     # 计算描绘 MaxHP 所需的空间
  50.     if normal
  51.       if width - 32 >= 108
  52.         hp_x = x + width - 108
  53.         flag = true
  54.       elsif width - 32 >= 48
  55.         hp_x = x + width - 48
  56.         flag = false
  57.       end
  58.     else
  59.       hp_x = x + 24
  60.       flag = true
  61.     end
  62.     # 描绘 HP
  63.     self.contents.font.color = actor.hp == 0 ? knockout_color :
  64.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  65.     self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
  66.     # 描绘 MaxHP
  67.     if flag
  68.       self.contents.font.color = normal_color
  69.       self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
  70.       self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
  71.     end
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● 描绘 SP
  75.   #     actor : 角色
  76.   #     x     : 描画目标 X 坐标
  77.   #     y     : 描画目标 Y 坐标
  78.   #     width : 描画目标的宽
  79.   #--------------------------------------------------------------------------
  80.   def draw_actor_sp(actor, x, y, width = 144, normal = true)
  81.     # 描绘字符串 "SP"
  82.     self.contents.font.color = system_color
  83.     self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
  84.     # 计算描绘 MaxSP 所需的空间
  85.     if normal
  86.       if width - 32 >= 108
  87.         sp_x = x + width - 108
  88.         flag = true
  89.       elsif width - 32 >= 48
  90.         sp_x = x + width - 48
  91.         flag = false
  92.       end
  93.     else
  94.       sp_x = x + 24
  95.       flag = true
  96.     end
  97.     # 描绘 SP
  98.     self.contents.font.color = actor.sp == 0 ? knockout_color :
  99.       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  100.     self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
  101.     # 描绘 MaxSP
  102.     if flag
  103.       self.contents.font.color = normal_color
  104.       self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
  105.       self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
  106.     end
  107.   end
  108. end
  109. class Window_Target < Window_Selectable
  110.   #--------------------------------------------------------------------------
  111.   # ● 初始化对像
  112.   #--------------------------------------------------------------------------
  113.   def initialize
  114.     super(0, 0, 120, 480)
  115.     self.contents = Bitmap.new(width - 32, height - 32)
  116.     self.z += 10
  117.     @item_max = $game_party.actors.size
  118.     refresh
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● 刷新
  122.   #--------------------------------------------------------------------------
  123.   def refresh
  124.     self.contents.clear
  125.     for i in 0...$game_party.actors.size
  126.       x = 0
  127.       y = i * 116
  128.       actor = $game_party.actors[i]
  129.       draw_actor_name(actor, x, y)
  130.     end
  131.   end
  132.   #--------------------------------------------------------------------------
  133.   # ● 刷新光标矩形
  134.   #--------------------------------------------------------------------------
  135.   def update_cursor_rect
  136.     # 光标位置 -1 为全选、-2 以下为单独选择 (使用者自身)
  137.     if @index <= -2
  138.       self.cursor_rect.set(0, (@index + 10) * 116, self.width - 32, 96)
  139.     elsif @index == -1
  140.       self.cursor_rect.set(0, 0, self.width - 32, @item_max * 116 - 20)
  141.     else
  142.       self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  143.     end
  144.   end
  145. end
  146. #============================================================================
  147. #============================================================================
  148. #============================================================================
  149. class Window_Controduction < Window_Base
  150.   #--------------------------------------------------------------------------
  151.   # ● 初始化对像
  152.   #     actor : 角色
  153.   #--------------------------------------------------------------------------
  154.   def initialize(actor, party = false)
  155.     super(0, 0, 200, 480)
  156.     self.contents = Bitmap.new(width - 32, height - 32)
  157.     @actor = actor
  158.     @party = party
  159.     refresh
  160.   end
  161.   #--------------------------------------------------------------------------
  162.   # ● 刷新
  163.   #--------------------------------------------------------------------------
  164.   def refresh
  165.     unless @party
  166.       self.contents.clear
  167.       self.contents.font.size = 14
  168.       draw_actor_graphic(@actor, 32, 112)
  169.       draw_actor_name(@actor, 0, 0)
  170.       draw_actor_class(@actor, 0 + 80, 0)
  171.       draw_actor_level(@actor, 0, 14)
  172.       draw_actor_state(@actor, 0, 28)
  173.       draw_actor_hp(@actor, 0, 112, 172, false)
  174.       draw_actor_sp(@actor, 0, 144, 172, false)
  175.       draw_actor_parameter(@actor, 0, 192, 0, 48)
  176.       draw_actor_parameter(@actor, 0, 224, 1, 48)
  177.       draw_actor_parameter(@actor, 0, 256, 2, 48)
  178.       draw_actor_parameter(@actor, 0, 304, 3, 48)
  179.       draw_actor_parameter(@actor, 0, 336, 4, 48)
  180.       draw_actor_parameter(@actor, 0, 368, 5, 48)
  181.       draw_actor_parameter(@actor, 0, 400, 6, 48)
  182.       self.contents.font.color = system_color
  183.       self.contents.draw_text(80, 48, 80, 32, "EXP")
  184.       self.contents.draw_text(80, 80, 80, 32, "NEXT")
  185.       self.contents.font.color = normal_color
  186.       self.contents.draw_text(80, 48, 84, 32, @actor.exp_s, 2)
  187.       self.contents.draw_text(80, 80, 84, 32, @actor.next_rest_exp_s, 2)
  188.       self.contents.font.color = system_color
  189.       self.contents.draw_text(96 + 16, 160, 96, 32, "装备")
  190.       draw_item_name($data_weapons[@actor.weapon_id], 96 + 16, 208)
  191.       draw_item_name($data_armors[@actor.armor1_id], 96 + 16, 256)
  192.       draw_item_name($data_armors[@actor.armor2_id], 96 + 16, 304)
  193.       draw_item_name($data_armors[@actor.armor3_id], 96 + 16, 352)
  194.       draw_item_name($data_armors[@actor.armor4_id], 96 + 16, 400)
  195.       self.contents.font.size = 22
  196.     else
  197.       for i in 0...$game_party.actors.size
  198.         x = 4
  199.         y = i * 116
  200.         actor = $game_party.actors[i]
  201.         draw_actor_name(actor, x, y)
  202.         draw_actor_hp(actor, x, y + 32)
  203.         draw_actor_sp(actor, x, y + 64)
  204.       end
  205.     end
  206.   end
  207. end
  208. #============================================================================
  209. #============================================================================
  210. #============================================================================
  211. class Scene_Item
  212.   #--------------------------------------------------------------------------
  213.   # ● 刷新画面 (物品窗口被激活的情况下)
  214.   #--------------------------------------------------------------------------
  215.   def update_item
  216.     # 按下 B 键的情况下
  217.     if Input.trigger?(Input::B)
  218.       # 演奏取消 SE
  219.       $game_system.se_play($data_system.cancel_se)
  220.       # 切换到菜单画面
  221.       $scene = Scene_Menu.new(0)
  222.       return
  223.     end
  224.     # 按下 C 键的情况下
  225.     if Input.trigger?(Input::C)
  226.       # 获取物品窗口当前选中的物品数据
  227.       @item = @item_window.item
  228.       # 不使用物品的情况下
  229.       unless @item.is_a?(RPG::Item)
  230.         # 演奏冻结 SE
  231.         $game_system.se_play($data_system.buzzer_se)
  232.         return
  233.       end
  234.       # 不能使用的情况下
  235.       unless $game_party.item_can_use?(@item.id)
  236.         # 演奏冻结 SE
  237.         $game_system.se_play($data_system.buzzer_se)
  238.         return
  239.       end
  240.       # 演奏确定 SE
  241.       $game_system.se_play($data_system.decision_se)
  242.       # 效果范围是我方的情况下
  243.       if @item.scope >= 3
  244.         # 激活目标窗口        
  245.         @item_window.active = false
  246.         
  247.         @controduction = Window_Controduction.new($game_party.actors[0])
  248.         @controduction.z = 200
  249.         
  250.         if (@item_window.index + 1) % 2 == 0
  251.           @target_window.x = 200
  252.          
  253.           @controduction.x = 0
  254.          
  255.         elsif (@item_window.index + 1) % 2 == 1
  256.           @target_window.x = 320
  257.          
  258.           @controduction.x = 440
  259.          
  260.         end
  261.         @target_window.visible = true
  262.         @target_window.active = true
  263.         
  264.         @controduction.visible = true
  265.         
  266.         # 设置效果范围 (单体/全体) 的对应光标位置
  267.         if @item.scope == 4 || @item.scope == 6
  268.           @target_window.index = -1
  269.          
  270.           @controduction_party = true
  271.          
  272.         else
  273.           @target_window.index = 0
  274.         end
  275.       # 效果在我方以外的情况下
  276.       else
  277.         # 公共事件 ID 有效的情况下
  278.         if @item.common_event_id > 0
  279.           # 预约调用公共事件
  280.           $game_temp.common_event_id = @item.common_event_id
  281.           # 演奏物品使用时的 SE
  282.           $game_system.se_play(@item.menu_se)
  283.           # 消耗品的情况下
  284.           if @item.consumable
  285.             # 使用的物品数减 1
  286.             $game_party.lose_item(@item.id, 1)
  287.             # 再描绘物品窗口的项目
  288.             @item_window.draw_item(@item_window.index)
  289.           end
  290.           # 切换到地图画面
  291.           $scene = Scene_Map.new
  292.           return
  293.         end
  294.       end
  295.       return
  296.     end
  297.   end
  298.   #--------------------------------------------------------------------------
  299.   # ● 刷新画面 (目标窗口被激活的情况下)
  300.   #--------------------------------------------------------------------------
  301.   def update_target
  302.    
  303.     unless @controduction_party
  304.       @controduction.dispose
  305.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index])
  306.       @controduction.z = 200
  307.       @controduction.update
  308.     else
  309.       @controduction.dispose
  310.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index],true)
  311.       @controduction.z = 200
  312.       @controduction.update
  313.     end
  314.    
  315.     if (@item_window.index + 1) % 2 == 0
  316.       @target_window.x = 200
  317.       
  318.       @controduction.x = 0
  319.          
  320.     elsif (@item_window.index + 1) % 2 == 1
  321.       @target_window.x = 320
  322.         
  323.       @controduction.x = 440
  324.          
  325.     end
  326.    
  327.     # 按下 B 键的情况下
  328.     if Input.trigger?(Input::B)
  329.       # 演奏取消 SE
  330.       $game_system.se_play($data_system.cancel_se)
  331.       # 由于物品用完而不能使用的场合
  332.       unless $game_party.item_can_use?(@item.id)
  333.         # 再次生成物品窗口的内容
  334.         @item_window.refresh
  335.       end
  336.       # 删除目标窗口
  337.       @item_window.active = true
  338.       @target_window.visible = false
  339.       @target_window.active = false
  340.       
  341.       @controduction.visible = false
  342.       @controduction_party = false
  343.       
  344.       return
  345.     end
  346.     # 按下 C 键的情况下
  347.     if Input.trigger?(Input::C)
  348.       # 如果物品用完的情况下
  349.       if $game_party.item_number(@item.id) == 0
  350.         # 演奏冻结 SE
  351.         $game_system.se_play($data_system.buzzer_se)
  352.         return
  353.       end
  354.       # 目标是全体的情况下
  355.       if @target_window.index == -1
  356.         # 对同伴全体应用物品使用效果
  357.         used = false
  358.         for i in $game_party.actors
  359.           used |= i.item_effect(@item)
  360.         end
  361.       end
  362.       # 目标是单体的情况下
  363.       if @target_window.index >= 0
  364.         # 对目标角色应用物品的使用效果
  365.         target = $game_party.actors[@target_window.index]
  366.         used = target.item_effect(@item)
  367.       end
  368.       # 使用物品的情况下
  369.       if used
  370.         # 演奏物品使用时的 SE
  371.         $game_system.se_play(@item.menu_se)
  372.         # 消耗品的情况下
  373.         if @item.consumable
  374.           # 使用的物品数减 1
  375.           $game_party.lose_item(@item.id, 1)
  376.           # 再描绘物品窗口的项目
  377.           @item_window.draw_item(@item_window.index)
  378.         end
  379.         # 再生成目标窗口的内容
  380.         @target_window.refresh
  381.         # 全灭的情况下
  382.         if $game_party.all_dead?
  383.           # 切换到游戏结束画面
  384.           $scene = Scene_Gameover.new
  385.           return
  386.         end
  387.         # 公共事件 ID 有效的情况下
  388.         if @item.common_event_id > 0
  389.           # 预约调用公共事件
  390.           $game_temp.common_event_id = @item.common_event_id
  391.           # 切换到地图画面
  392.           $scene = Scene_Map.new
  393.           return
  394.         end
  395.       end
  396.       # 无法使用物品的情况下
  397.       unless used
  398.         # 演奏冻结 SE
  399.         $game_system.se_play($data_system.buzzer_se)
  400.       end
  401.       return
  402.     end
  403.   end
  404. end



  405. #==============================================================================
  406. # ■ Scene_Skill
  407. #------------------------------------------------------------------------------
  408. #  处理特技画面的类。
  409. #==============================================================================

  410. class Scene_Skill
  411.   #--------------------------------------------------------------------------
  412.   # ● 刷新画面 (特技窗口被激活的情况下)
  413.   #--------------------------------------------------------------------------
  414.   def update_skill
  415.     # 按下 B 键的情况下
  416.     if Input.trigger?(Input::B)
  417.       # 演奏取消 SE
  418.       $game_system.se_play($data_system.cancel_se)
  419.       # 切换到菜单画面
  420.       $scene = Scene_Menu.new(1)
  421.       return
  422.     end
  423.     # 按下 C 键的情况下
  424.     if Input.trigger?(Input::C)
  425.       # 获取特技窗口现在选择的特技的数据
  426.       [url=home.php?mod=space&uid=260100]@skill[/url] = @skill_window.skill
  427.       # 不能使用的情况下
  428.       if @skill == nil or not @actor.skill_can_use?(@skill.id)
  429.         # 演奏冻结 SE
  430.         $game_system.se_play($data_system.buzzer_se)
  431.         return
  432.       end
  433.       # 演奏确定 SE
  434.       $game_system.se_play($data_system.decision_se)
  435.       # 效果范围是我方的情况下
  436.       if @skill.scope >= 3
  437.         # 激活目标窗口
  438.         @skill_window.active = false
  439.         
  440.         @controduction = Window_Controduction.new($game_party.actors[0])
  441.         @controduction.z = 200
  442.         
  443.         if (@skill_window.index + 1) % 2 == 0
  444.           @target_window.x = 200
  445.          
  446.           @controduction.x = 0
  447.          
  448.         elsif (@skill_window.index + 1) % 2 == 1
  449.           @target_window.x = 320
  450.          
  451.           @controduction.x = 440
  452.          
  453.         end
  454.         @target_window.visible = true
  455.         @target_window.active = true
  456.         
  457.         @controduction.visible = true
  458.         
  459.         
  460.         
  461.         # 设置效果范围 (单体/全体) 的对应光标位置
  462.         if @skill.scope == 4 || @skill.scope == 6
  463.           @target_window.index = -1
  464.          
  465.           @controduction_party = true
  466.          
  467.         elsif @skill.scope == 7
  468.           @target_window.index = @actor_index - 10
  469.         else
  470.           @target_window.index = 0
  471.         end
  472.       # 效果在我方以外的情况下
  473.       else
  474.         # 公共事件 ID 有效的情况下
  475.         if @skill.common_event_id > 0
  476.           # 预约调用公共事件
  477.           $game_temp.common_event_id = @skill.common_event_id
  478.           # 演奏特技使用时的 SE
  479.           $game_system.se_play(@skill.menu_se)
  480.           # 消耗 SP
  481.           @actor.sp -= @skill.sp_cost
  482.           # 再生成各窗口的内容
  483.           @status_window.refresh
  484.           @skill_window.refresh
  485.           @target_window.refresh
  486.           # 切换到地图画面
  487.           $scene = Scene_Map.new
  488.           return
  489.         end
  490.       end
  491.       return
  492.     end
  493.     # 按下 R 键的情况下
  494.     if Input.trigger?(Input::R)
  495.       # 演奏光标 SE
  496.       $game_system.se_play($data_system.cursor_se)
  497.       # 移至下一位角色
  498.       @actor_index += 1
  499.       @actor_index %= $game_party.actors.size
  500.       # 切换到别的特技画面
  501.       $scene = Scene_Skill.new(@actor_index)
  502.       return
  503.     end
  504.     # 按下 L 键的情况下
  505.     if Input.trigger?(Input::L)
  506.       # 演奏光标 SE
  507.       $game_system.se_play($data_system.cursor_se)
  508.       # 移至上一位角色
  509.       @actor_index += $game_party.actors.size - 1
  510.       @actor_index %= $game_party.actors.size
  511.       # 切换到别的特技画面
  512.       $scene = Scene_Skill.new(@actor_index)
  513.       return
  514.     end
  515.   end
  516.   #--------------------------------------------------------------------------
  517.   # ● 刷新画面 (目标窗口被激活的情况下)
  518.   #--------------------------------------------------------------------------
  519.   def update_target
  520.    
  521.     unless @controduction_party
  522.       @controduction.dispose
  523.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index])
  524.       @controduction.z = 200
  525.       @controduction.update
  526.     else
  527.       @controduction.dispose
  528.       @controduction = Window_Controduction.new($game_party.actors[@target_window.index],true)
  529.       @controduction.z = 200
  530.       @controduction.update
  531.     end
  532.    
  533.     if (@skill_window.index + 1) % 2 == 0
  534.       @target_window.x = 200
  535.       
  536.       @controduction.x = 0
  537.          
  538.     elsif (@skill_window.index + 1) % 2 == 1
  539.       @target_window.x = 320
  540.         
  541.       @controduction.x = 440
  542.          
  543.     end
  544.    
  545.     # 按下 B 键的情况下
  546.     if Input.trigger?(Input::B)
  547.       # 演奏取消 SE
  548.       $game_system.se_play($data_system.cancel_se)
  549.       # 删除目标窗口
  550.       @skill_window.active = true
  551.       @target_window.visible = false
  552.       @target_window.active = false
  553.       
  554.       @controduction.visible = false
  555.       @controduction_party = false
  556.       
  557.       return
  558.     end
  559.     # 按下 C 键的情况下
  560.     if Input.trigger?(Input::C)
  561.       # 因为 SP 不足而无法使用的情况下
  562.       unless @actor.skill_can_use?(@skill.id)
  563.         # 演奏冻结 SE
  564.         $game_system.se_play($data_system.buzzer_se)
  565.         return
  566.       end
  567.       # 目标是全体的情况下
  568.       if @target_window.index == -1
  569.         # 对同伴全体应用特技使用效果
  570.         used = false
  571.         for i in $game_party.actors
  572.           used |= i.skill_effect(@actor, @skill)
  573.         end
  574.       end
  575.       # 目标是使用者的情况下
  576.       if @target_window.index <= -2
  577.         # 对目标角色应用特技的使用效果
  578.         target = $game_party.actors[@target_window.index + 10]
  579.         used = target.skill_effect(@actor, @skill)
  580.       end
  581.       # 目标是单体的情况下
  582.       if @target_window.index >= 0
  583.         # 对目标角色应用特技的使用效果
  584.         target = $game_party.actors[@target_window.index]
  585.         used = target.skill_effect(@actor, @skill)
  586.       end
  587.       # 使用特技的情况下
  588.       if used
  589.         # 演奏特技使用时的 SE
  590.         $game_system.se_play(@skill.menu_se)
  591.         # 消耗 SP
  592.         @actor.sp -= @skill.sp_cost
  593.         # 再生成各窗口内容
  594.         @status_window.refresh
  595.         @skill_window.refresh
  596.         @target_window.refresh
  597.         # 全灭的情况下
  598.         if $game_party.all_dead?
  599.           # 切换到游戏结束画面
  600.           $scene = Scene_Gameover.new
  601.           return
  602.         end
  603.         # 公共事件 ID 有效的情况下
  604.         if @skill.common_event_id > 0
  605.           # 预约调用公共事件
  606.           $game_temp.common_event_id = @skill.common_event_id
  607.           # 切换到地图画面
  608.           $scene = Scene_Map.new
  609.           return
  610.         end
  611.       end
  612.       # 无法使用特技的情况下
  613.       unless used
  614.         # 演奏冻结 SE
  615.         $game_system.se_play($data_system.buzzer_se)
  616.       end
  617.       return
  618.     end
  619.   end
  620. end
复制代码

点评

好,没问题。只是@你的时候居然是无效的……我发链接给你吧  发表于 2013-10-4 17:16
谢谢,爱S你了。我还有个小问题,我重开个帖子@你吧、  发表于 2013-10-4 17:11
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 02:24

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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