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

Project1

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

[已经解决] 这个显血脚本怎么让他出现具体数字

[复制链接]

Lv1.梦旅人

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

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

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

x
本帖最后由 The_Abyss 于 2013-7-24 12:53 编辑

就是在血条上显示 比如6000/6000

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

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

2
发表于 2013-7-24 12:10:33 | 只看该作者
LZ是要这样的效果吗?

上脚本前,先召唤掉令人厌恶的@battler ,免得干扰我写脚本!
RUBY 代码复制
  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.   Gauge_Type = 3#0
  13. end
  14. #==============================================================================
  15. # ■ Sprite_Battler_HP
  16. #------------------------------------------------------------------------------
  17. #  显示战斗者的生命在战斗者的精灵下面。
  18. #==============================================================================
  19. class Sprite_Battler_HP < Sprite
  20.   #--------------------------------------------------------------------------
  21.   # ● 初始化对象
  22.   #--------------------------------------------------------------------------
  23.   def initialize(viewport,battler)
  24.     super(viewport)
  25.     @battler = battler
  26.     @last_hp = 0
  27.     create_bitmap
  28.     update
  29.   end
  30.   #--------------------------------------------------------------------------
  31.   # ● 释放
  32.   #--------------------------------------------------------------------------
  33.   def dispose
  34.     self.bitmap.dispose
  35.     super
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 生成位图
  39.   #--------------------------------------------------------------------------
  40.   def create_bitmap
  41.     @last_hp = @battler.hp
  42.     bw = 96
  43.     bh = 6
  44.     self.bitmap = Bitmap.new(bw, bh + 16)
  45.     self.bitmap.fill_rect(0, 16, bw, bh, Color.new(32,32,64))
  46.     if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0
  47.       hp = ((bw) * @battler.hp_rate).to_i
  48.       self.bitmap.gradient_fill_rect(0, 16, hp, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  49.     elsif Freya::Gauge_Type == 1
  50.       hp = ((width - 2) * @battler.hp_rate).to_i
  51.       self.bitmap.gradient_fill_rect(1, 17, hp, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  52.     elsif Freya::Gauge_Type == 2
  53.       hp = ((width) * @battler.hp_rate).to_i
  54.       self.bitmap.gradient_fill_rect(0, 16, hp / 2, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  55.       self.bitmap.gradient_fill_rect(hp / 2, 16, hp / 2, bh, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  56.     elsif Freya::Gauge_Type == 3
  57.       hp = ((width - 2) * @battler.hp_rate).to_i
  58.       self.bitmap.gradient_fill_rect(1, 17, hp / 2, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  59.       self.bitmap.gradient_fill_rect((hp / 2) + 1, 17, hp / 2, bh - 2, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)
  60.     end
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● 更新画面
  64.   #--------------------------------------------------------------------------
  65.   def update
  66.     super
  67.     unless self.bitmap.nil?
  68.       self.x = @battler.screen_x - self.width / 2
  69.       self.y = @battler.screen_y - 16
  70.       create_bitmap if @last_hp != @battler.hp
  71.       hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)
  72.       if @battler.hp == 0 or hide
  73.         self.opacity = 0
  74.       elsif @battler.hp > 0 && !hide
  75.         self.opacity = 255
  76.       end
  77.       self.bitmap.font.size = 16
  78.       self.bitmap.draw_text(0, 0, 96, 24,"#{@battler.hp}/#{@battler.mhp}", 2)
  79.     end
  80.   end
  81. end
  82.  
  83. #==============================================================================
  84. # ■ Sprite_Battler
  85. #------------------------------------------------------------------------------
  86. #  显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。
  87. #==============================================================================
  88. class Sprite_Battler < Sprite_Base
  89.   #--------------------------------------------------------------------------
  90.   # ☆ 初始化对象
  91.   #--------------------------------------------------------------------------
  92.   alias initialize_freya_enemy_hp initialize
  93.   def initialize(viewport, battler = nil)
  94.     initialize_freya_enemy_hp(viewport, battler)
  95.     if @battler.is_a?(Game_Enemy)
  96.       @hp_gauge = Sprite_Battler_HP.new(viewport, battler)
  97.     end
  98.   end
  99.   #--------------------------------------------------------------------------
  100.   # ☆ 释放
  101.   #--------------------------------------------------------------------------
  102.   alias dispose_freya_enemy_hp dispose
  103.   def dispose
  104.     dispose_freya_enemy_hp
  105.     unless @hp_gauge.nil?
  106.       @hp_gauge.dispose
  107.     end
  108.   end
  109.   #--------------------------------------------------------------------------
  110.   # ☆ 更新画面
  111.   #--------------------------------------------------------------------------
  112.   alias update_freya_enemy_hp update
  113.   def update
  114.     update_freya_enemy_hp
  115.     @hp_gauge.update unless @hp_gauge.nil?
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # ☆ 更新位置
  119.   #--------------------------------------------------------------------------
  120.   alias update_position_freya_enemy_hp update_position
  121.   def update_position
  122.     update_position_freya_enemy_hp
  123.     self.y = @battler.screen_y - 16
  124.   end
  125. end

@Mic_洛洛 @Sion ,我又来VA区玩了喵。  

评分

参与人数 2梦石 +2 收起 理由
Sion + 1 认可答案
Mic_洛洛 + 1 {=w=}/认可答案!新手福音,P叔又来“捡菜.

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
21 小时
注册时间
2012-6-16
帖子
55
3
发表于 2013-7-24 13:29:46 | 只看该作者
好东西啊,我拿走了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 15:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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