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

Project1

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

[已经过期] 怎么把血条显示出来

[复制链接]

Lv1.梦旅人

梦石
0
星屑
145
在线时间
1 小时
注册时间
2010-12-29
帖子
2
跳转到指定楼层
1
发表于 2010-12-29 17:42:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
:dizzy::dizzy:

评分

参与人数 1星屑 -20 收起 理由
夕阳武士 -20 内容很水,你这样大家怎么知道你要问什么呢.

查看全部评分

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
2
发表于 2010-12-29 17:55:03 | 只看该作者
LZ你这内容会被扣分的~
还有LZ你没说明是角色显示还是怪兽显示?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
90 小时
注册时间
2009-5-25
帖子
73
3
发表于 2010-12-29 18:51:24 | 只看该作者
横版的脚本基本都带这个部分,单独提取出来使用即可
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2010-7-7
帖子
7
4
发表于 2010-12-29 19:35:35 | 只看该作者
#==============================================================================
# ★RGSS2
# STR15_Enemy HP Gauge v1.1a
# By star:http://strcatyou.u-abel.net/
# Translated by Mr. Bubble
#
# ・Show HP gauge of enemies when hit.
# ・You can hide a specified enemy's HP gauge by adding "HIDEHP" to
# the enemy's Notes field in the Database.
# ・Updated with a back attack fix by Moonlight.  Use this version ONLY with the
#  ATB+SBS scripts.
#------------------------------------------------------------------------------

#==============================================================================
# ★このスクリプトの機能を有効にする
if true
#==============================================================================
# ■ Sprite_Battler
#==============================================================================
class Sprite_Battler < Sprite_Base
  # Word used in enemy Notes field to hide HP gauge
  GAUGE_M = "HIDEHP"
  # Gauge back color [Border color, Inside color]
  GAUGE_BC = [Color.new(32,54,200), Color.new(0,0,0)]
  # Color gradient [Left, Right]
  GAUGE_GC = [Color.new(32,54,200), Color.new(0,0,0)]
  #
  GAUGE_W = 96 # Gauge width
  GAUGE_H = 6 # Gauge height
  GAUGE_S = 8 # Gauge speed (more than 2)
  GAUGE_T = 640 # Gauge display length (more 510)
  GAUGE_O = 6 # Gauge opacity
  #
  GAUGE_V = false # STR cursor appears when damaged. Requires STRxx Cursor.                  # ※XP風バトルを導入してない場合は有効にしないでください
  #--------------------------------------------------------------------------
  # ● ゲージスプライト作成(追加)
  #--------------------------------------------------------------------------
  def create_enhpgauge
    g_width = GAUGE_W  # 幅
    g_height = GAUGE_H # 高さ
    f_color = GAUGE_BC # ゲージバックカラー
    g_color = GAUGE_GC # ゲージカラー
    # ビットマップ作成
    bitmap = Bitmap.new(g_width, g_height * 2)
    # 上半分:ゲージバック
    bitmap.fill_rect(0, 0, g_width, g_height, f_color[0])         # 枠外
    bitmap.fill_rect(1, 1, g_width - 2, g_height - 2, f_color[1]) # 枠内
    # 下半分:グラデゲージ
    bitmap.gradient_fill_rect(1, g_height + 1, g_width - 2, g_height - 2,
                              g_color[0], g_color[1])             # グラデ
    # スプライト作成 # [0] = ゲージバック; [1] = ゲージ
    @hp_gauge = [Sprite.new, Sprite.new]
    for i in 0..1
      sprite = @hp_gauge
      sprite.viewport = self.viewport
      sprite.bitmap = bitmap
      sprite.src_rect.set(0, 0, g_width, g_height)
      sprite.src_rect.y = g_height if i == 1
      if $back_attack && N01::BACK_ATTACK && N01::BACK_ATTACK_NON_BACK_MIRROR
        sprite.x = Graphics.width - @battler.screen_x
      else
        sprite.x = @battler.screen_x
      end
      sprite.y = @battler.screen_y - 8
      sprite.ox = g_width / 2
      sprite.oy = g_height / 2
      sprite.z = 200
      sprite.z += 20 if i == 1
      sprite.opacity = 0
    end
    # いろいろ
    @enid = @battler.enemy_id
    @hp = @battler.hp
    @gauge_width = GAUGE_W + 1
    @gauge_opacity = 0
  end
  #--------------------------------------------------------------------------
  # ● ゲージ更新(追加)
  #--------------------------------------------------------------------------
  def enhpgauge_update
    # エネミーIDが変動していたらメモの内容を再取得・可視状態も更新
    if @enid != @battler.enemy_id
      @enid = @battler.enemy_id
      @gauge_visible = true
      @gauge_visible = false if $data_enemies[@enid].note.include?(GAUGE_M)
      for i in @hp_gauge do i.visible = @gauge_visible end
      end
    return unless @gauge_visible
    # ゲージ更新
    if @hp != @battler.hp
      g_width = (@battler.hp / (@battler.maxhp * 1.0))
      @gauge_width = ((GAUGE_W * g_width) + 1).truncate
      @gauge_opacity = GAUGE_T
      @hp = @battler.hp
    end
    # 幅
    g_width = @hp_gauge[1].src_rect.width
    speed = GAUGE_S
    rect = @hp_gauge[1].src_rect
    rect.width = (@gauge_width + (g_width * (speed - 1))) / speed
    if rect.width != @gauge_width
      if rect.width > @gauge_width
        rect.width -= 1
      else
        rect.width += 1
      end
    end
    rect.width = 2 if rect.width <= 1 and @hp > 0
    # 透明度
    if GAUGE_V and @battler.cursor_flash
      @gauge_opacity += GAUGE_O * 2 if @gauge_opacity <= GAUGE_T / 2
    else
      @gauge_opacity -= GAUGE_O if @gauge_opacity > 0
    end
    # 透明度適用
    for i in @hp_gauge do i.opacity = @gauge_opacity end
  end
  #--------------------------------------------------------------------------
  # ● オブジェクト初期化(エイリアス)
  #--------------------------------------------------------------------------
  alias initialize_str15 initialize
  def initialize(viewport, battler = nil)
    initialize_str15(viewport, battler)
    if @battler.is_a?(Game_Enemy)
      create_enhpgauge
      @gauge_visible = true
      @gauge_visible = false if $data_enemies[@enid].note.include?(GAUGE_M)
      for i in @hp_gauge do i.visible = @gauge_visible end
    end
  end
  #--------------------------------------------------------------------------
  # ● 解放(エイリアス)
  #--------------------------------------------------------------------------
  alias dispose_str15 dispose
  def dispose
    dispose_str15
    if @battler.is_a?(Game_Enemy)
      @hp_gauge[0].bitmap.dispose
      @hp_gauge[0].dispose
      @hp_gauge[1].dispose
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新(エイリアス)
  #--------------------------------------------------------------------------
  alias update_str15 update
  def update
    update_str15
    enhpgauge_update if @battler.is_a?(Game_Enemy)
  end
end
#
end

点评

罗列代码请用“[code][/code]”  发表于 2010-12-31 22:00
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
145
在线时间
1 小时
注册时间
2010-12-29
帖子
2
5
 楼主| 发表于 2010-12-30 13:46:33 | 只看该作者
角色的:L
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 16:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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