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

Project1

 找回密码
 注册会员
搜索

我加了个显示敌人血槽的脚本,战斗结束后会无法离开战斗

查看数: 1544 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2015-11-19 12:37

正文摘要:

应该是与其他脚本冲突,删除最后一段没问题了但是就不会显示敌人扣了多少HP和MP了 我的想法是能不能小小修改一下脚本当hp为0时中止战斗,另外能不能把显示MP去掉 所用的脚本如下 #================================= ...

回复

Silentever 发表于 2015-11-20 05:27:22
把MP相关的内容删了,其他地方没变。
HP变0终止战斗这点没看懂...
  1. #==============================================================================
  2. # *删除MP显示相关
  3. #==============================================================================
  4. # 功能:战斗中显示敌人血和蓝于敌人脚下
  5. # 适用:RMVX Ace
  6. # 作者:殇殃 2012.3.10
  7. # 使用方法:复制整个脚本插入到Main之前
  8. # 注意:由于血条是显示在敌人脚下,所以敌群的位置不能太靠底部,不然会被挡住。
  9. # 可以自行更改坐标修改显示位置、血条的颜色等。
  10. #==============================================================================
  11. # ■ Window_Base
  12. #------------------------------------------------------------------------------
  13. #  游戏中全部窗口的超级类。
  14. #==============================================================================

  15. class Window_Base < Window
  16. #--------------------------------------------------------------------------
  17. # ● 描绘敌人HP
  18. #--------------------------------------------------------------------------
  19.   def draw_enemy_hp(enemy, x, y, width = 80)
  20.     draw_gauge(x, y, width, enemy.hp_rate, hp_gauge_color1, hp_gauge_color2)
  21.     self.contents.font.color = system_color
  22.     self.contents.draw_text(x, y, 30, line_height, Vocab::hp_a)
  23.     self.contents.font.color = hp_color(enemy)
  24.     self.contents.draw_text(x + width - 64, y, 64, line_height, enemy.hp, 2)
  25.     #一个数字占16像素
  26.   end
  27. end
  28. #==============================================================================
  29. # ■ Sprite_Battler
  30. #------------------------------------------------------------------------------
  31. #  战斗显示用活动块。Game_Battler 类的实例监视、
  32. # 活动块的状态的监视、活动块状态自动变化。
  33. #==============================================================================

  34. class Sprite_Battler < Sprite_Base
  35. #--------------------------------------------------------------------------
  36. # ● 初始化对象
  37. # viewport : 视区
  38. # battler : 战斗者 (Game_Battler)
  39. #--------------------------------------------------------------------------
  40.   def initialize(viewport, battler = nil)
  41.     super(viewport)
  42.     @battler = battler
  43.     @battler_visible = false
  44.     @effect_type = nil
  45.     @effect_duration = 0
  46.     if @battler.is_a?(Game_Enemy)
  47.       width = 24 + 80 #边距12*2+血条的长度(在draw_enemy_hp中定义)
  48.       height = 24 + 24*2 #边距12*2+line_height*2
  49.       x = @battler.screen_x - width/2 #screen_x是怪物图片水平方向上的中点位置
  50.       y = @battler.screen_y - 12 #边距12,显示HP/MP的窗口无边框
  51.       @enemy_hpmp_window = Window_Base.new(x, y, width, height)
  52.       @enemy_hpmp_window.opacity = 0
  53.       @enemy_hpmp_window.contents = Bitmap.new(width - 24, height - 24)#位图比窗口小24像素取消边框
  54.       @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  55.       @old_hp = -1
  56.     end
  57.   end
  58. #--------------------------------------------------------------------------
  59. # ● 释放
  60. #--------------------------------------------------------------------------
  61.   def dispose
  62.     if self.bitmap != nil
  63.       self.bitmap.dispose
  64.       @enemy_hpmp_window.dispose
  65.     end
  66.     super
  67.   end
  68. #--------------------------------------------------------------------------
  69. # ● 更新画面
  70. #--------------------------------------------------------------------------
  71.   def update
  72.     super
  73.     if @battler == nil
  74.       self.bitmap = nil
  75.     else
  76.       @use_sprite = @battler.use_sprite?
  77.       if @use_sprite
  78.         update_bitmap
  79.         update_origin
  80.         update_position
  81.       end
  82.       setup_new_effect
  83.       setup_new_animation
  84.       update_effect
  85.       if @enemy_hpmp_window != nil and @old_hp != @battler.hp
  86.         if @battler.hp == 0
  87.           @enemy_hpmp_window.hide
  88.         else
  89.           @enemy_hpmp_window.contents.clear
  90.           @enemy_hpmp_window.draw_enemy_hp(@battler, 0, 0)
  91.           @old_hp = @battler.hp
  92.           @enemy_hpmp_window.show #怪物死后再被复活
  93.         end #if battler.hp == 0
  94.       end
  95.     end #if @battler == nil
  96.   end

  97. end
复制代码

点评

没有起作用,但还是谢谢回复了  发表于 2015-11-20 15:30
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-17 03:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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