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

Project1

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

[已经解决] 如何让敌人有多个血条?

[复制链接]

Lv2.观梦者

梦石
0
星屑
536
在线时间
69 小时
注册时间
2016-5-5
帖子
31
跳转到指定楼层
1
发表于 2017-9-24 21:20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
有没有办法做到回合制中打完敌人一条血后
下一层是第二条血且不同颜色的 感谢
头像被屏蔽

Lv3.寻梦者

梦石
0
星屑
2379
在线时间
912 小时
注册时间
2014-10-14
帖子
1331

开拓者

2
发表于 2017-9-25 13:43:46 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1829
在线时间
80 小时
注册时间
2017-9-28
帖子
92
3
发表于 2017-9-28 17:47:08 | 只看该作者
我找到一个战斗时显示敌人血条的脚本,不过好像不能实现楼主想要的多层颜色血条,希望楼主能够采纳。
脚本原地址:
  1. rpg.blue/home.php?mod=space&uid=310500&do=blog&id=10840
复制代码

更多脚本地址:
  1. rpg.blue/forum.php?mod=viewthread&tid=252003&page=1
复制代码


脚本我已经复制在下面了
  1. #==============================================================================
  2. # F08 - 战斗敌人显示血条 - By芙蕾娅
  3. #------------------------------------------------------------------------------
  4. #  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
  5. #==============================================================================
  6. module Freya
  7.   # 隐藏HP的文本
  8.   HideGaugeText = "Hide_Gauge"
  9.   # 血条颜色
  10.   EnemyHPGaugeColor1 = Color.new(64,128,96)
  11.   EnemyHPGaugeColor2 = Color.new(96,192,160)
  12. end
  13. #==============================================================================
  14. # ■ Sprite_Battler_HP
  15. #------------------------------------------------------------------------------
  16. #  显示战斗者的生命在战斗者的精灵下面。
  17. #==============================================================================
  18. class Sprite_Battler_HP < Sprite
  19.   #--------------------------------------------------------------------------
  20.   # ● 初始化对象
  21.   #--------------------------------------------------------------------------
  22.   def initialize(viewport,battler)
  23.     super(viewport)
  24.     @battler = battler
  25.     @last_hp = 0
  26.     create_bitmap
  27.     update
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 释放
  31.   #--------------------------------------------------------------------------
  32.   def dispose
  33.     self.bitmap.dispose
  34.     super
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 生成位图
  38.   #--------------------------------------------------------------------------
  39.   def create_bitmap
  40.     @last_hp = @battler.hp
  41.     bw = 96
  42.     bh = 6
  43.     self.bitmap = Bitmap.new(bw, bh)
  44.     self.bitmap.fill_rect(0, 0, bw, bh, Color.new(32,32,64))
  45.     if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0
  46.       hp = ((bw) * @battler.hp_rate).to_i
  47.       self.bitmap.gradient_fill_rect(0, 0, hp, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  48.     elsif Freya::Gauge_Type == 1
  49.       hp = ((width - 2) * @battler.hp_rate).to_i
  50.       self.bitmap.gradient_fill_rect(1, 1, hp, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  51.     elsif Freya::Gauge_Type == 2
  52.       hp = ((width) * @battler.hp_rate).to_i
  53.       self.bitmap.gradient_fill_rect(0, 0, hp / 2, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  54.       self.bitmap.gradient_fill_rect(hp / 2, 0, hp / 2, bh, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  55.     elsif Freya::Gauge_Type == 3
  56.       hp = ((width - 2) * @battler.hp_rate).to_i
  57.       self.bitmap.gradient_fill_rect(1, 1, hp / 2, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  58.       self.bitmap.gradient_fill_rect((hp / 2) + 1, 1, hp / 2, bh - 2, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  59.     end
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 更新画面
  63.   #--------------------------------------------------------------------------
  64.   def update
  65.     super
  66.     unless self.bitmap.nil?
  67.       self.x = @battler.screen_x - self.width / 2
  68.       self.y = @battler.screen_y
  69.       create_bitmap if @last_hp != @battler.hp
  70.       hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)
  71.       if @battler.hp == 0 or hide
  72.         self.opacity = 0
  73.       elsif @battler.hp > 0 && !hide
  74.         self.opacity = 255
  75.       end
  76.     end
  77.   end
  78. end

  79. #==============================================================================
  80. # ■ Sprite_Battler
  81. #------------------------------------------------------------------------------
  82. #  显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。
  83. #==============================================================================
  84. class Sprite_Battler < Sprite_Base
  85.   #--------------------------------------------------------------------------
  86.   # ☆ 初始化对象
  87.   #--------------------------------------------------------------------------
  88.   alias initialize_freya_enemy_hp initialize
  89.   def initialize(viewport, battler = nil)
  90.     initialize_freya_enemy_hp(viewport, battler)
  91.     if @battler.is_a?(Game_Enemy)
  92.       @hp_gauge = Sprite_Battler_HP.new(viewport, battler)
  93.     end
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # ☆ 释放
  97.   #--------------------------------------------------------------------------
  98.   alias dispose_freya_enemy_hp dispose
  99.   def dispose
  100.     dispose_freya_enemy_hp
  101.     unless @hp_gauge.nil?
  102.       @hp_gauge.dispose
  103.     end
  104.   end
  105.   #--------------------------------------------------------------------------
  106.   # ☆ 更新画面
  107.   #--------------------------------------------------------------------------
  108.   alias update_freya_enemy_hp update
  109.   def update
  110.     update_freya_enemy_hp
  111.     @hp_gauge.update unless @hp_gauge.nil?
  112.   end
  113. end
复制代码


回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
536
在线时间
69 小时
注册时间
2016-5-5
帖子
31
4
 楼主| 发表于 2017-9-28 22:48:37 | 只看该作者
心六 发表于 2017-9-28 17:47
我找到一个战斗时显示敌人血条的脚本,不过好像不能实现楼主想要的多层颜色血条,希望楼主能够采纳。
脚本 ...

45出错啊@@
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1829
在线时间
80 小时
注册时间
2017-9-28
帖子
92
5
发表于 2017-9-28 23:23:21 | 只看该作者

那么尝试一下这个脚本,先把之前的脚本删除掉,以免起冲突,然后把这个脚本复制进去,
敌人显血


不过使用敌人显血脚本必须同时使用Taroxd基础设置和动态值槽脚本以支援敌人显血脚本实行成功,切记一定要把这两个放在敌人显血脚本一栏的上面。
Taroxd基础设置

动态值槽


倘若仍有什么问题欢迎追问

点评

不客气:D  发表于 2017-9-28 23:50
对了,这个脚本和第一个脚本一样不能实现楼主想要的多层颜色血条,忘了告诉你,真的非常抱歉。  发表于 2017-9-28 23:49
也罢,目前先搞定敌人血条就够了,感谢  发表于 2017-9-28 23:48
是不錯,但是第二血條去哪了?  发表于 2017-9-28 23:45
如果使用时有什么特别的要求,可以看看敌人显血的第7行到9行有些使用教程。  发表于 2017-9-28 23:27
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 16:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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