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

Project1

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

[已经解决] 请问这个敌方显血脚本能加上敌方名字吗?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4044
在线时间
1077 小时
注册时间
2008-5-17
帖子
218

开拓者

跳转到指定楼层
1
发表于 2012-11-25 11:05:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 无名小兵 于 2012-11-26 12:07 编辑
  1. #==============================================================================
  2. # F08 - 战斗敌人显示血条·改 - By芙蕾娅
  3. #    对应横板战斗版本
  4. #------------------------------------------------------------------------------
  5. #  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更
  6. #==============================================================================
  7. module Freya
  8.   # 隐藏HP的文本
  9.   HideGaugeText = "Hide_Gauge"
  10.   # 血条颜色
  11.   EnemyHPGaugeColor1 = Color.new(64,128,96)
  12.   EnemyHPGaugeColor2 = Color.new(96,192,160)
  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.     [url=home.php?mod=space&uid=133701]@battler[/url] = 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)
  45.     self.bitmap.fill_rect(0, 0, 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, 0, 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, 1, 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, 0, hp / 2, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  55.       self.bitmap.gradient_fill_rect(hp / 2, 0, 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, 1, hp / 2, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)
  59.       self.bitmap.gradient_fill_rect((hp / 2) + 1, 1, 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.z = @battler.sv.z + 20
  69.       create_bitmap if @last_hp != @battler.hp
  70.       hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)
  71.       self.opacity = 0 if @battler.hp == 0 or hide
  72.     end
  73.   end
  74. end

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

谢谢芙蕾娅

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
2
发表于 2012-11-25 12:50:07 | 只看该作者
- -b不知你用的什么战斗系统,不过一般不会有啥冲突...
  1. #==============================================================================

  2. # F08 - 战斗敌人显示血条·改 - By芙蕾娅

  3. #    对应横板战斗版本

  4. #------------------------------------------------------------------------------

  5. #  ★ - 新增  ☆ - 修改  ■ - 删除 ● - 无变更

  6. #==============================================================================

  7. module Freya
  8.   Gauge_Type = 0
  9.   # 隐藏HP的文本

  10.   HideGaugeText = "Hide_Gauge"

  11.   # 血条颜色

  12.   EnemyHPGaugeColor1 = Color.new(64,128,96)

  13.   EnemyHPGaugeColor2 = Color.new(96,192,160)

  14. end

  15. #==============================================================================

  16. # ■ Sprite_Battler_HP

  17. #------------------------------------------------------------------------------

  18. #  显示战斗者的生命在战斗者的精灵下面。

  19. #==============================================================================

  20. class Sprite_Battler_HP < Sprite

  21.   #--------------------------------------------------------------------------

  22.   # ● 初始化对象

  23.   #--------------------------------------------------------------------------

  24.   def initialize(viewport,battler)

  25.     super(viewport)

  26.     [url=home.php?mod=space&uid=133701]@battler[/url] = battler

  27.     @last_hp = 0
  28.     #半仙改
  29.     @name = Sprite.new
  30.     @name.bitmap = Bitmap.new(96,32)
  31.     @name.bitmap.draw_text(0, 0, 96,32, @battler.name, 1)
  32.     create_bitmap

  33.     update

  34.   end

  35.   #--------------------------------------------------------------------------

  36.   # ● 释放

  37.   #--------------------------------------------------------------------------

  38.   def dispose

  39.     self.bitmap.dispose
  40.     #半仙改
  41.     @name.bitmap.dispose
  42.     @name.dispose
  43.     super

  44.   end

  45.   #--------------------------------------------------------------------------

  46.   # ● 生成位图

  47.   #--------------------------------------------------------------------------

  48.   def create_bitmap

  49.     @last_hp = @battler.hp

  50.     bw = 96

  51.     bh = 6

  52.     self.bitmap = Bitmap.new(bw, bh)

  53.     self.bitmap.fill_rect(0, 0, bw, bh, Color.new(32,32,64))

  54.     if Freya::Gauge_Type.nil? or Freya::Gauge_Type == 0

  55.       hp = ((bw) * @battler.hp_rate).to_i

  56.       self.bitmap.gradient_fill_rect(0, 0, hp, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)

  57.     elsif Freya::Gauge_Type == 1

  58.       hp = ((width - 2) * @battler.hp_rate).to_i

  59.       self.bitmap.gradient_fill_rect(1, 1, hp, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)

  60.     elsif Freya::Gauge_Type == 2

  61.       hp = ((width) * @battler.hp_rate).to_i

  62.       self.bitmap.gradient_fill_rect(0, 0, hp / 2, bh, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)

  63.       self.bitmap.gradient_fill_rect(hp / 2, 0, hp / 2, bh, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)

  64.     elsif Freya::Gauge_Type == 3

  65.       hp = ((width - 2) * @battler.hp_rate).to_i

  66.       self.bitmap.gradient_fill_rect(1, 1, hp / 2, bh - 2, Freya::EnemyHPGaugeColor1, Freya::EnemyHPGaugeColor2)

  67.       self.bitmap.gradient_fill_rect((hp / 2) + 1, 1, hp / 2, bh - 2, Freya::EnemyHPGaugeColor2, Freya::EnemyHPGaugeColor1)

  68.     end

  69.   end

  70.   #--------------------------------------------------------------------------

  71.   # ● 更新画面

  72.   #--------------------------------------------------------------------------

  73.   def update

  74.     super

  75.     unless self.bitmap.nil?

  76.       self.z = @battler.sv.z + 20

  77.       create_bitmap if @last_hp != @battler.hp

  78.       hide = $data_enemies[@battler.enemy_id].note.include?(Freya::HideGaugeText)

  79.       self.opacity = 0 if @battler.hp == 0 or hide
  80.        #半仙改
  81.       @name.x = self.x
  82.       @name.y = self.y - 16
  83.       @name.z = self.z + 1
  84.       @name.visible = (@battler.hp == 0 or hide) ? false : true
  85.     end

  86.   end

  87. end


  88. #==============================================================================

  89. # ■ Sprite_Battler

  90. #------------------------------------------------------------------------------

  91. #  显示战斗者的精灵。根据 Game_Battler 类的实例自动变化。

  92. #==============================================================================

  93. class Sprite_Battler < Sprite_Base

  94.   #--------------------------------------------------------------------------

  95.   # ☆ 初始化对象

  96.   #--------------------------------------------------------------------------

  97.   alias initialize_freya_enemy_hp initialize

  98.   def initialize(viewport, battler = nil)

  99.     initialize_freya_enemy_hp(viewport, battler)

  100.     if @battler.is_a?(Game_Enemy)

  101.       @hp_gauge = Sprite_Battler_HP.new(viewport, battler)

  102.     end

  103.   end

  104.   #--------------------------------------------------------------------------

  105.   # ☆ 释放

  106.   #--------------------------------------------------------------------------

  107.   alias dispose_freya_enemy_hp dispose

  108.   def dispose

  109.     dispose_freya_enemy_hp

  110.     unless @hp_gauge.nil?

  111.       @hp_gauge.dispose

  112.     end

  113.   end

  114.   #--------------------------------------------------------------------------

  115.   # ☆ 更新画面

  116.   #--------------------------------------------------------------------------

  117.   alias update_freya_enemy_hp update

  118.   def update

  119.     update_freya_enemy_hp

  120.     @hp_gauge.update unless @hp_gauge.nil?

  121.   end

  122.   alias update_freya_position update_position

  123.   def update_position

  124.     update_freya_position

  125.     @hp_gauge.x = self.x - 48 unless @hp_gauge.nil?

  126.     @hp_gauge.y = self.y unless @hp_gauge.nil?

  127.   end

  128. end
复制代码

点评

- -b论坛神奇的@功能,你可以试试把你自己发上来的脚本贴回去看看...  发表于 2012-11-25 13:53
51行 报错了。。= = 然后 51行开始 代码 全变红色了。。。  发表于 2012-11-25 13:16
我看看去。。。  发表于 2012-11-25 13:13
好歹当年也当过大魔王过,orz
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
2073
在线时间
920 小时
注册时间
2012-10-18
帖子
428

开拓者

3
发表于 2012-11-25 13:18:22 | 只看该作者

点评

棒。。。。  发表于 2012-11-25 13:35
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-28 02:02

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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