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

Project1

 找回密码
 注册会员
搜索
查看: 2941|回复: 12

[已经解决] 如何显示敌人血条?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
208
在线时间
14 小时
注册时间
2019-7-11
帖子
9
发表于 2019-7-15 23:30:21 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 缇诺 于 2019-7-16 19:25 编辑

想问一下如何显示敌人的血条,知道的可否告诉我,谢谢。

Lv1.梦旅人

梦石
0
星屑
208
在线时间
14 小时
注册时间
2019-7-11
帖子
9
 楼主| 发表于 2019-7-18 23:49:17 | 显示全部楼层
看来是冷掉了呢............

点评

目前的话我用的是后面那种,通过脚本做到的,但本人萌新,最近才开始学习脚本,那几个插件脚本我也分不清是哪个在起作用。。  发表于 2019-7-18 23:58
你没说清楚。。。你是想要在战斗的时候血条显示在敌人头上,还是在选择敌人的时候敌人名字后面出现血条或者其他的显示方式。。。  发表于 2019-7-18 23:57
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
794
在线时间
48 小时
注册时间
2019-7-15
帖子
65
发表于 2019-7-19 00:03:48 | 显示全部楼层
本帖最后由 VIPArcher 于 2019-7-19 00:07 编辑
缇诺 发表于 2019-7-18 23:49
看来是冷掉了呢............


善用搜索功能吧。。站内本来就有,我刚刚帮你搜了一下,这是脚本
RUBY 代码复制
  1. #==============================================================================
  2. # ■ 敵のHP表示
  3. #   @version 0.8 13/08/08
  4. #   @author さば缶
  5. #------------------------------------------------------------------------------
  6. #  敵キャラの状態を表示します
  7. #==============================================================================
  8. module Saba
  9.   module SesUi
  10.  
  11.     # テキストカラーやHPバーカラーにシステムカラーを使う場合、true に設定します。
  12.     USE_SYSTEM_COLOR = true
  13.  
  14.     # HP表示ボックスのy座標です。
  15.     CONTAINER_Y       = 265
  16.  
  17.     # 基準点の座標を敵の上部にする場合true に設定します
  18.     # デフォルトは敵の下部の座標
  19.     # その場合、↑の CONTAINER_Y の値分だけ下に表示されます
  20.     ANCHOR_TOP = false
  21.     # これ以上、上には表示されません
  22.     MIN_POS_Y         = 60
  23.  
  24.     # HPのy座標を敵の座標にあわせて変化させる場合true
  25.     # その場合、↑の CONTAINER_Y の値分だけ敵の下に表示されます
  26.     RELATIVE_POS      = false
  27.     # これ以上、下には表示されません
  28.     MAX_POS_Y         = 270
  29.  
  30.     #--------------------------------------------------------------------------
  31.     # ● テキスト関係
  32.     #--------------------------------------------------------------------------
  33.     # HPテキストを表示する場合true、表示しない場合false
  34.     SHOW_HP_TEXT      = false
  35.  
  36.  
  37.     # HPラベルのテキストです。
  38.     LABEL             = "HP"
  39.  
  40.     # HPラベルの色です。システムカラーを使う場合無視されます。
  41.     LABEL_COLOR  = Color.new(180, 180, 255)
  42.  
  43.     # HPラベルのフォントサイズです。
  44.     LABEL_FONT_SIZE   = 25
  45.  
  46.  
  47.     # HPの値の色です。システムカラーを使う場合無視されます。
  48.     VALUE_COLOR  = Color.new(255, 255, 255)
  49.  
  50.     # HPの値のフォントサイズです。
  51.     VALUE_FONT_SIZE   = 25
  52.  
  53.     # HPの値の基準点です。0=左揃え 1=中央揃え 2=右揃え
  54.     VALUE_ALIGN       = 1
  55.  
  56.  
  57.     # コンテナの中心からの、HPラベルのX座標の相対位置です。
  58.     TEXT_OFFSET_X  = -35
  59.  
  60.     # コンテナの中心からの、HPラベルのY座標の相対位置です。
  61.     TEXT_OFFSET_Y  = 0
  62.  
  63.     # HPラベルの横幅です。
  64.     TEXT_WIDTH     = 40
  65.  
  66.  
  67.     # コンテナの中心からの、HPの値のX座標の相対位置です。
  68.     VALUE_OFFSET_X = -5
  69.  
  70.     # コンテナの中心からの、HPの値のY座標の相対位置です。
  71.     VALUE_OFFSET_Y = 0
  72.  
  73.     # HPの値の横幅です。
  74.     VALUE_WIDTH    = 40
  75.  
  76.     #--------------------------------------------------------------------------
  77.     # ● HP MPバー関係
  78.     #--------------------------------------------------------------------------
  79.     # HPバーを表示する場合true、表示しない場合false
  80.     SHOW_HP_BAR      = true
  81.  
  82.     # MPバーを表示する場合true、表示しない場合false
  83.     SHOW_MP_BAR      = false
  84.     # 最大MPが0の敵のMPバーを表示する場合true、表示しない場合false
  85.     SHOW_MMP0_MP_BAR = false
  86.     # MPバーの座標
  87.     MP_OFFSET_Y      = 9
  88.  
  89.     # 背景に画像を使う場合 true に設定します。
  90.     # true の場合、Graphics/System/gauge_bg.png が使われます。
  91.     USE_BACKGROUND_IMAGE = true
  92.  
  93.     BACKGROUND_IMAGE_FILE = "gauge_bg"
  94.  
  95.     # 背景画像の、左端からゲージ本体までの幅です。
  96.     MARGIN_LEFT = 3
  97.  
  98.     # 背景画像の、右端からゲージ本体までの幅です。
  99.     MARGIN_RIGHT = 3
  100.  
  101.     # 背景画像の y の相対値です。
  102.     BG_OFFSET_Y = -3
  103.  
  104.     # Z深度です。この値が大きいほど、手前に表示されます。
  105.     Z_DEPTH = 10
  106.  
  107.     # HPバーの背景色です。システムカラーを使う場合無視されます。
  108.     BAR_BG_COLOR        = Color.new(50, 50, 50, 70)
  109.  
  110.     BAR_BORDER_COLOR    = Color.new(0, 0, 0)
  111.  
  112.     # HPバーの前景色です。システムカラーを使う場合無視されます。
  113.     BAR_FG_COLOR_1        = Color.new(155, 110, 30)
  114.  
  115.     # HPバーの前景色です。システムカラーを使う場合無視されます。
  116.     BAR_FG_COLOR_2        = Color.new(255, 200, 120)
  117.  
  118.     # MPバーの前景色です。システムカラーを使う場合無視されます。
  119.     BAR_FG_MP_COLOR_1     = Color.new(155, 110, 30)
  120.  
  121.     # MPバーの前景色です。システムカラーを使う場合無視されます。
  122.     BAR_FG_MP_COLOR_2     = Color.new(255, 200, 120)
  123.  
  124.  
  125.     # コンテナの中心からの、HPバーのY座標の相対位置です。
  126.     BAR_OFFSET_Y  = 15
  127.  
  128.     # HPバーの横幅です。
  129.     BAR_WIDTH  = 80
  130.  
  131.     # HPバーの高さです。
  132.     BAR_HEIGHT  = 4
  133.  
  134.     # HPバーの最低の長さです。HPが1でも最低この長さが表示されます。
  135.     BAR_MIN_WIDTH = 2
  136.  
  137.     # バーが重なっていた場合にずらす y の値です。
  138.     SHIFT_Y = -15
  139.  
  140.     #--------------------------------------------------------------------------
  141.     # ● ステート関係
  142.     #--------------------------------------------------------------------------
  143.     # ステートが2ページ以上にわたるとき、それが切り替わるフレーム数
  144.     STATE_PAGE_CHANGE_INTERVAL = 60
  145.     # ステートを表示する場合true、表示しない場合false
  146.     SHOW_STATE      = true
  147.     # ステートアイコンの最大表示数です。
  148.     MAX_NUM_STATE   = 4
  149.     # コンテナの中心からの、ステートのX座標の相対位置です。
  150.     STATE_OFFSET_X = -42
  151.     # コンテナの中心からの、ステートのY座標の相対位置です。
  152.     STATE_OFFSET_Y = -11
  153.   end
  154.  
  155.   module SesSys
  156.     # この文字列を敵のメモ欄に入れると、その敵のHPが表示されなくなります。
  157.     HIDE_HP_MARKER = "<HIDE_HP>"
  158.  
  159.     def define_note?(item, name)
  160.       return false if item == nil
  161.       return item.note.include?(HIDE_HP_MARKER)
  162.     end
  163.   end
  164. end
  165.  
  166.  
  167.  
  168. #==============================================================================
  169. # ここから実装です。
  170. #==============================================================================
  171. $imported = {} if $imported == nil
  172. $imported["ShowEnemyStatus"] = true
  173.  
  174. class Game_Temp
  175.   #--------------------------------------------------------------------------
  176.   # ● 公開インスタンス変数
  177.   #--------------------------------------------------------------------------
  178.   attr_accessor   :saba_lock_hp_view
  179.   #--------------------------------------------------------------------------
  180.   # ● オブジェクト初期化
  181.   #--------------------------------------------------------------------------
  182.   alias saba_enemyhp_initialize initialize
  183.   def initialize
  184.     saba_enemyhp_initialize
  185.     @saba_lock_hp_view = false
  186.   end
  187. end
  188.  
  189. class Window_BattleLog
  190.   #--------------------------------------------------------------------------
  191.   # ● クリティカルヒットの表示
  192.   #--------------------------------------------------------------------------
  193.   alias saba_enemyhp_display_critical display_critical
  194.   def display_critical(target, item)
  195.     $game_temp.saba_lock_hp_view = true if target.result.critical
  196.     saba_enemyhp_display_critical(target, item)
  197.     $game_temp.saba_lock_hp_view = false
  198.   end
  199. end
  200.  
  201. class Sprite_EnemyStatus < Sprite_Base
  202.   include Saba::SesSys
  203.   include Saba::SesUi
  204.   WLH = 24                  # 行の高さ基準値 (Window Line Height)
  205.   #--------------------------------------------------------------------------
  206.   # ● オブジェクト初期化
  207.   #     viewport : ビューポート
  208.   #--------------------------------------------------------------------------
  209.   def initialize(viewport, enemy_sprites)
  210.     super(viewport)
  211.     @enemy_sprites = enemy_sprites
  212.     @page_change_wait = 0
  213.     @page_count = 0
  214.     self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  215.     self.bitmap.font.size = 25
  216.     @windowskin = Cache.system("Window")
  217.   end
  218.   #--------------------------------------------------------------------------
  219.   # ● 使用したリソースを解放します。
  220.   #--------------------------------------------------------------------------
  221.   def dispose
  222.     self.bitmap.dispose
  223.     super
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   # ● ステータス情報を更新します。
  227.   #--------------------------------------------------------------------------
  228.   def update
  229.     super
  230.     return if $game_temp.saba_lock_hp_view
  231.  
  232.     if no_change?
  233.       @page_change_wait += 1
  234.       return if @page_change_wait < STATE_PAGE_CHANGE_INTERVAL
  235.       @page_change_wait = 0
  236.       @page_count += 1
  237.     else
  238.       @page_change_wait = 0
  239.     end
  240.     save_enemy_status
  241.     self.bitmap.clear
  242.     draw_status
  243.   end
  244.   #--------------------------------------------------------------------------
  245.   # ● ステートのページ数取得
  246.   #--------------------------------------------------------------------------
  247.   def state_page_count
  248.     n = 1
  249.     @enemy_sprites.size.times do |i|
  250.       n = [(@enemy_states[i].size + @enemy_buff_icons[i].size) / MAX_NUM_STATE, n].max
  251.     end
  252.     return n
  253.   end
  254.   #--------------------------------------------------------------------------
  255.   # ● 敵のHPに変化があったかどうかを調べます。毎回描画するのを防ぐためです。
  256.   # [url=home.php?mod=space&uid=352621]@return[/url] 変化があった場合 true、なかった場合 false
  257.   #--------------------------------------------------------------------------
  258.   def no_change?
  259.     return false if @enemy_hps == nil
  260.     @enemy_sprites.size.times do |i|
  261.       enemy = @enemy_sprites[i].battler
  262.       return false unless @enemy_hps[i] == enemy.hp
  263.       return false unless @enemy_mps[i] == enemy.mp
  264.       return false unless @enemy_exists[i] == enemy.exist?
  265.       return false unless @enemy_states[i] == enemy.states
  266.       return false unless @enemy_buff_icons[i] == enemy.buff_icons
  267.     end
  268.     return true
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ● 敵のHPと状態を覚えておきます。
  272.   #--------------------------------------------------------------------------
  273.   def save_enemy_status
  274.     @enemy_hps ||= []
  275.     @enemy_mps ||= []
  276.     @enemy_exists ||= []
  277.     @enemy_states ||= []
  278.     @enemy_buff_icons ||= []
  279.     @enemy_sprites.size.times do |i|
  280.       enemy = @enemy_sprites[i].battler
  281.       @enemy_hps[i] = enemy.hp
  282.       @enemy_mps[i] = enemy.mp
  283.       @enemy_exists[i] = enemy.exist?
  284.       @enemy_states[i] = enemy.states
  285.       @enemy_buff_icons[i] = enemy.buff_icons
  286.     end
  287.   end
  288.   #--------------------------------------------------------------------------
  289.   # ● ステータス情報を描画します。
  290.   #--------------------------------------------------------------------------
  291.   def draw_status
  292.     old_x = 0
  293.     can_shift = false
  294.     enemies = @enemy_sprites.clone.sort{|a, b| a.x <=> b.x}
  295.     enemies.size.times do |index|
  296.       enemy_sprite = enemies[index]
  297.       next_enemy = enemies[index + 1]
  298.       next_enemy_x = next_enemy == nil ? 1000 : next_enemy.x
  299.       enemy = enemy_sprite.battler
  300.  
  301.       if (! enemy.exist?) || enemy.dead?
  302.         old_x = enemy_sprite.x
  303.         can_shift = ! can_shift
  304.         next
  305.       end
  306.       next if define_note?(enemy.enemy, HIDE_HP_MARKER)
  307.  
  308.       shift = false
  309.       if SHOW_HP_BAR || SHOW_MP_BAR
  310.         shift = draw_hp_mp_bar(enemy_sprite, old_x, next_enemy_x, can_shift)
  311.       end
  312.       if SHOW_STATE
  313.         draw_state(enemy_sprite, shift)
  314.       end
  315.       if SHOW_HP_TEXT
  316.         draw_hp_label(enemy_sprite)
  317.         draw_hp_value(enemy_sprite)
  318.       end
  319.  
  320.       old_x = enemy_sprite.x
  321.       can_shift = ! can_shift
  322.     end
  323.   end
  324.   def container_y(enemy_sprite)
  325.     if RELATIVE_POS
  326.       return [CONTAINER_Y + enemy_sprite.y, MAX_POS_Y].min
  327.     elsif ANCHOR_TOP
  328.  
  329.       return [CONTAINER_Y + enemy_sprite.y - enemy_sprite.height, MIN_POS_Y].max
  330.     else
  331.       return CONTAINER_Y
  332.     end
  333.   end
  334.   #--------------------------------------------------------------------------
  335.   # ● 指定のエネミーのHPラベルを描画します。
  336.   #    Sprite enemy_sprite : HPラベルを描画するエネミースプライト
  337.   #--------------------------------------------------------------------------
  338.   def draw_hp_label(enemy_sprite)
  339.     x = enemy_sprite.x
  340.     y = container_y(enemy_sprite)
  341.     offset_x = Saba::SesUi::TEXT_OFFSET_X
  342.     offset_y = Saba::SesUi::TEXT_OFFSET_Y
  343.     x += offset_x
  344.     y += offset_y
  345.     width = Saba::SesUi::TEXT_WIDTH
  346.  
  347.     self.bitmap.font.size = Saba::SesUi::LABEL_FONT_SIZE
  348.     self.bitmap.font.color = label_color
  349.     label = Saba::SesUi::LABEL
  350.     self.bitmap.draw_text(x, y, width, WLH, label)
  351.   end
  352.   #--------------------------------------------------------------------------
  353.   # ● 指定のエネミーのHPの値を描画します。
  354.   #    Sprite enemy_sprite : HPの値を描画するエネミースプライト
  355.   #--------------------------------------------------------------------------
  356.   def draw_hp_value(enemy_sprite)
  357.     x = enemy_sprite.x
  358.     y = container_y(enemy_sprite)
  359.     offset_x = Saba::SesUi::VALUE_OFFSET_X
  360.     offset_y = Saba::SesUi::VALUE_OFFSET_Y
  361.     x += offset_x
  362.     y += offset_y
  363.     width = Saba::SesUi::VALUE_WIDTH
  364.  
  365.     self.bitmap.font.size = VALUE_FONT_SIZE
  366.     self.bitmap.font.color = value_color
  367.     enemy = enemy_sprite.battler
  368.     align = Saba::SesUi::VALUE_ALIGN
  369.     self.bitmap.draw_text(x, y, width, WLH, enemy.hp.to_s, align)
  370.   end
  371.   #--------------------------------------------------------------------------
  372.   # ● 指定のエネミーのHPとMPのバーを描画します。
  373.   #    Sprite enemy_sprite : HPのバーを描画するエネミースプライト
  374.   #--------------------------------------------------------------------------
  375.   def draw_hp_mp_bar(enemy_sprite, old_x, next_x, can_shift)
  376.     x = enemy_sprite.x
  377.     y = container_y(enemy_sprite)
  378.     width = BAR_WIDTH
  379.     offset_x = -width / 2
  380.     offset_y = BAR_OFFSET_Y
  381.  
  382.     if can_shift
  383.       if USE_BACKGROUND_IMAGE
  384.         margin = MARGIN_LEFT + MARGIN_RIGHT
  385.       else
  386.         margin = 4
  387.       end
  388.       if x + width + margin > next_x || old_x + width + margin > x
  389.         y += SHIFT_Y
  390.         shift = true
  391.       end
  392.     else
  393.       shift = false
  394.     end
  395.  
  396.     x += offset_x
  397.     y += offset_y
  398.     height = BAR_HEIGHT
  399.     enemy = enemy_sprite.battler
  400.  
  401.     if SHOW_HP_BAR
  402.       draw_background(x, y, width, height)
  403.  
  404.       width = width * enemy.hp / enemy.mhp
  405.       width = BAR_MIN_WIDTH if width < BAR_MIN_WIDTH
  406.       self.bitmap.gradient_fill_rect(x, y, width, height, hp_gauge_color1, hp_gauge_color2)
  407.     end
  408.  
  409.     if SHOW_MP_BAR
  410.       if enemy.mmp == 0 && ! SHOW_MMP0_MP_BAR
  411.         return shift
  412.       end
  413.       y += MP_OFFSET_Y
  414.       width = BAR_WIDTH
  415.       draw_background(x, y, width, height)
  416.  
  417.       if enemy.mmp > 0
  418.         width = width * enemy.mp / enemy.mmp
  419.       else
  420.         width = 0
  421.       end
  422.       self.bitmap.gradient_fill_rect(x, y, width, height, mp_gauge_color1, mp_gauge_color2)
  423.     end
  424.     return shift
  425.   end
  426.   def draw_state(enemy_sprite, shift)
  427.     x = enemy_sprite.x
  428.     y = container_y(enemy_sprite)
  429.     offset_x = Saba::SesUi::STATE_OFFSET_X
  430.     offset_y = Saba::SesUi::STATE_OFFSET_Y
  431.     x += offset_x
  432.     y += offset_y
  433.     enemy_battler = enemy_sprite.battler
  434.     max_page = (enemy_battler.states.size + enemy_battler.buff_icons.size-1) / MAX_NUM_STATE + 1
  435.     max_page = [max_page, 1].max
  436.     page = @page_count % max_page
  437.     start = page * MAX_NUM_STATE
  438.     index = 0
  439.     count = 0
  440.     y += SHIFT_Y if shift
  441.     for state in enemy_battler.states
  442.       return if count == MAX_NUM_STATE
  443.       if index < start
  444.         index += 1
  445.         next
  446.       end
  447.       draw_icon(state.icon_index, x + 21 * count, y)
  448.       count += 1
  449.     end
  450.     for buff in enemy_battler.buff_icons
  451.       return if count == MAX_NUM_STATE
  452.       if index < start
  453.         index += 1
  454.         next
  455.       end
  456.       draw_icon(buff, x + 21 * count, y)
  457.       count += 1
  458.     end
  459.   end
  460.   #--------------------------------------------------------------------------
  461.   # ● アイコンの描画
  462.   #     icon_index : アイコン番号
  463.   #     x          : 描画先 X 座標
  464.   #     y          : 描画先 Y 座標
  465.   #     enabled    : 有効フラグ。false のとき半透明で描画
  466.   #--------------------------------------------------------------------------
  467.   def draw_icon(icon_index, x, y, enabled = true)
  468.     bitmap = Cache.system("Iconset")
  469.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  470.     self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 128)
  471.   end
  472.   def draw_background(x, y, width, height)
  473.  
  474.     if Saba::SesUi::USE_BACKGROUND_IMAGE
  475.       margin_l = Saba::SesUi::MARGIN_LEFT
  476.       margin_r = Saba::SesUi::MARGIN_RIGHT
  477.       x -= margin_l
  478.       y += Saba::SesUi::BG_OFFSET_Y
  479.       image = Cache.system(Saba::SesUi::BACKGROUND_IMAGE_FILE)
  480.       self.bitmap.blt(x, y, image, Rect.new(0, 0, margin_l, image.height))
  481.       self.bitmap.stretch_blt(Rect.new(x + margin_l, y, width, image.height), image, Rect.new(margin_l, 0, image.width - margin_l - margin_r, image.height))
  482.       self.bitmap.blt(x + width + margin_l, y, image, Rect.new(image.width - margin_r, 0, margin_r, image.height))
  483.     else
  484.       color = Saba::SesUi::BAR_BORDER_COLOR
  485.       self.bitmap.fill_rect(x - 1, y - 1, width + 2, height + 2, color)
  486.  
  487.       color = Saba::SesUi::BAR_BG_COLOR
  488.       self.bitmap.fill_rect(x, y, width, height, color)
  489.     end
  490.   end
  491.   #--------------------------------------------------------------------------
  492.   # ● HP ゲージの色 1 を返します。
  493.   #--------------------------------------------------------------------------
  494.   def hp_gauge_color1
  495.     if USE_SYSTEM_COLOR
  496.       return text_color(20)
  497.     else
  498.       return BAR_FG_COLOR_1
  499.     end
  500.   end
  501.   #--------------------------------------------------------------------------
  502.   # ● HP ゲージの色 2 を返します。
  503.   #--------------------------------------------------------------------------
  504.   def hp_gauge_color2
  505.  
  506.     if USE_SYSTEM_COLOR
  507.       return text_color(21)
  508.     else
  509.       return BAR_FG_COLOR_2
  510.     end
  511.   end
  512.   #--------------------------------------------------------------------------
  513.   # ● MP ゲージの色 1 を返します。
  514.   #--------------------------------------------------------------------------
  515.   def mp_gauge_color1
  516.     if USE_SYSTEM_COLOR
  517.       return text_color(22)
  518.     else
  519.       return BAR_FG_MP_COLOR_1
  520.     end
  521.   end
  522.   #--------------------------------------------------------------------------
  523.   # ● MP ゲージの色 2 を返します。
  524.   #--------------------------------------------------------------------------
  525.   def mp_gauge_color2
  526.  
  527.     if USE_SYSTEM_COLOR
  528.       return text_color(23)
  529.     else
  530.       return BAR_FG_MP_COLOR_2
  531.     end
  532.   end
  533.   #--------------------------------------------------------------------------
  534.   # ● HPラベルの文字色を返します。
  535.   #--------------------------------------------------------------------------
  536.   def label_color
  537.     if Saba::SesUi::USE_SYSTEM_COLOR
  538.       return text_color(16)
  539.     else
  540.       return Saba::SesUi::LABEL_COLOR
  541.     end
  542.   end
  543.   #--------------------------------------------------------------------------
  544.   # ● HPの値の文字色を返します。
  545.   #--------------------------------------------------------------------------
  546.   def value_color
  547.     if Saba::SesUi::USE_SYSTEM_COLOR
  548.       return text_color(0)
  549.     else
  550.       return Saba::SesUi::VALUE_COLOR
  551.     end
  552.   end
  553.   #--------------------------------------------------------------------------
  554.   # ● 文字色を返します。
  555.   #     n : 文字色番号 (0~31)
  556.   #--------------------------------------------------------------------------
  557.   def text_color(n)
  558.     x = 64 + (n % 8) * 8
  559.     y = 96 + (n / 8) * 8
  560.     return @windowskin.get_pixel(x, y)
  561.   end
  562. end
  563.  
  564.  
  565. #==============================================================================
  566. # Sprite_EnemyStatusを使うように設定
  567. #==============================================================================
  568. class Spriteset_Battle
  569.   #--------------------------------------------------------------------------
  570.   # ● エネミーステータススプライトを作成します。
  571.   #  createEnemies と update の間に呼ばれる必要があるため、
  572.   #  タイマー作成時に一緒に作成しています。
  573.   #--------------------------------------------------------------------------
  574.   alias create_timer_SabaEnemyStatus create_timer
  575.   def create_timer
  576.     @saba_enemyStatusSprite = Sprite_EnemyStatus.new(@saba_enemyStatusViewport, @enemy_sprites)
  577.     create_timer_SabaEnemyStatus
  578.   end
  579.   #--------------------------------------------------------------------------
  580.   # ● エネミーステータススプライトを破棄します。
  581.   #  同じくタイマー破棄時に一緒に破棄しています。
  582.   #--------------------------------------------------------------------------
  583.   alias dispose_timer_SabaEnemyStatus dispose_timer
  584.   def dispose_timer
  585.     @saba_enemyStatusSprite.dispose
  586.     dispose_timer_SabaEnemyStatus
  587.   end
  588.   #--------------------------------------------------------------------------
  589.   # ● エネミーステータスビューポートを作成します。
  590.   #--------------------------------------------------------------------------
  591.   alias create_viewports_SabaEnemyStatus create_viewports
  592.   def create_viewports
  593.     @saba_enemyStatusViewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
  594.     @saba_enemyStatusViewport.z = Saba::SesUi::Z_DEPTH
  595.     create_viewports_SabaEnemyStatus
  596.   end
  597.   #--------------------------------------------------------------------------
  598.   # ● エネミーステータスビューポートを破棄します。
  599.   #--------------------------------------------------------------------------
  600.   alias dispose_viewports_SabaEnemyStatus dispose_viewports
  601.   def dispose_viewports
  602.     dispose_viewports_SabaEnemyStatus
  603.     @saba_enemyStatusViewport.dispose
  604.   end
  605.   #--------------------------------------------------------------------------
  606.   # ● エネミーステータスを更新します。
  607.   #--------------------------------------------------------------------------
  608.   alias update_viewports_SabaEnemyStatus update_viewports
  609.   def update_viewports
  610.     update_viewports_SabaEnemyStatus
  611.     @saba_enemyStatusSprite.update
  612.   end
  613.   #--------------------------------------------------------------------------
  614.   # ● ビューポートの更新
  615.   #--------------------------------------------------------------------------
  616.   alias saba_hp_update_viewports update_viewports
  617.   def update_viewports
  618.     saba_hp_update_viewports
  619.     @saba_enemyStatusSprite.ox = $game_troop.screen.shake
  620.   end
  621. end

点评

谢谢啦O(∩_∩)O  发表于 2019-7-19 00:10
萌新不知道嘛⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄  发表于 2019-7-19 00:09
帮你加上了代码框,下一次发代码的时候可以用工具栏里的<>代码框功能  发表于 2019-7-19 00:07

评分

参与人数 2星屑 +50 +1 收起 理由
VIPArcher + 50 认可答案
缇诺 + 1 认可答案

查看全部评分

回复 支持 2 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
794
在线时间
48 小时
注册时间
2019-7-15
帖子
65
发表于 2019-7-19 00:05:50 | 显示全部楼层
https://rpg.blue/forum.php?mod=attachment&aid=MTkwMzk2fDEyZTJhMjQ5fDE1NjM0NjU3NTl8MjY5ODcxN3wzMzI2MTY%3D&noupdate=yes
这是需要的图片地址,把gauge_bg.png这张图片放在system配合使用就可以了
回复 支持 2 反对 0

使用道具 举报

Lv2.观梦者

梦石
0
星屑
794
在线时间
48 小时
注册时间
2019-7-15
帖子
65
发表于 2019-7-19 00:08:56 | 显示全部楼层
亲测可用,而且是显示在战斗画面敌人图像下方,应该满足要求了吧QwQ
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
794
在线时间
48 小时
注册时间
2019-7-15
帖子
65
发表于 2019-7-19 00:14:18 | 显示全部楼层

图片再发一次,忘记了论坛里有个图片地址的选项⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
208
在线时间
14 小时
注册时间
2019-7-11
帖子
9
 楼主| 发表于 2019-8-11 16:38:47 | 显示全部楼层
琴落丶 发表于 2019-7-19 00:03
善用搜索功能吧。。站内本来就有,我刚刚帮你搜了一下,这是脚本#===================================== ...

emmmmmmmmm之前有脚本了来着,不过谢谢啦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
208
在线时间
14 小时
注册时间
2019-7-11
帖子
9
 楼主| 发表于 2019-8-11 16:44:23 | 显示全部楼层
琴落丶 发表于 2019-7-19 00:08
亲测可用,而且是显示在战斗画面敌人图像下方,应该满足要求了吧QwQ

满足了满足了,谢谢啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-29 18:18

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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