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

Project1

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

[已经解决] 求VA敌人显示血条脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
40 小时
注册时间
2012-8-4
帖子
26
跳转到指定楼层
1
发表于 2013-9-17 22:36:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
以前有找到,但现在找不到了...搜索功能不知道为什么用不了,求大家帮忙给个链接或者脚本,谢谢大家!

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

2
发表于 2013-9-17 22:43:43 | 只看该作者
搜索功能见公告
这里有个范例游戏里面有血条功能:http://bbs.cgyouxi.com/thread-323803-1-1.html
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
22953
在线时间
8638 小时
注册时间
2011-12-31
帖子
3367
3
发表于 2013-9-18 00:13:50 | 只看该作者
本帖最后由 tseyik 于 2013-9-18 00:15 编辑

gauge_bg.png(放在system)
  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.     # コンテナの中心からの、HPバーのY座標の相対位置です。
  125.     BAR_OFFSET_Y  = 15
  126.    
  127.     # HPバーの横幅です。
  128.     BAR_WIDTH  = 80
  129.    
  130.     # HPバーの高さです。
  131.     BAR_HEIGHT  = 4
  132.    
  133.     # HPバーの最低の長さです。HPが1でも最低この長さが表示されます。
  134.     BAR_MIN_WIDTH = 2

  135.     # バーが重なっていた場合にずらす y の値です。
  136.     SHIFT_Y = -15
  137.    
  138.     #--------------------------------------------------------------------------
  139.     # ● ステート関係
  140.     #--------------------------------------------------------------------------
  141.     # ステートが2ページ以上にわたるとき、それが切り替わるフレーム数
  142.     STATE_PAGE_CHANGE_INTERVAL = 60
  143.     # ステートを表示する場合true、表示しない場合false
  144.     SHOW_STATE      = true
  145.     # ステートアイコンの最大表示数です。
  146.     MAX_NUM_STATE   = 4
  147.     # コンテナの中心からの、ステートのX座標の相対位置です。
  148.     STATE_OFFSET_X = -42
  149.     # コンテナの中心からの、ステートのY座標の相対位置です。
  150.     STATE_OFFSET_Y = -11
  151.   end
  152.   
  153.   module SesSys
  154.     # この文字列を敵のメモ欄に入れると、その敵のHPが表示されなくなります。
  155.     HIDE_HP_MARKER = "<HIDE_HP>"
  156.    
  157.     def define_note?(item, name)
  158.       return false if item == nil
  159.       return item.note.include?(HIDE_HP_MARKER)
  160.     end
  161.   end
  162. end



  163. #==============================================================================
  164. # ここから実装です。
  165. #==============================================================================
  166. $imported = {} if $imported == nil
  167. $imported["ShowEnemyStatus"] = true

  168. class Game_Temp
  169.   #--------------------------------------------------------------------------
  170.   # ● 公開インスタンス変数
  171.   #--------------------------------------------------------------------------
  172.   attr_accessor   :saba_lock_hp_view
  173.   #--------------------------------------------------------------------------
  174.   # ● オブジェクト初期化
  175.   #--------------------------------------------------------------------------
  176.   alias saba_enemyhp_initialize initialize
  177.   def initialize
  178.     saba_enemyhp_initialize
  179.     @saba_lock_hp_view = false
  180.   end
  181. end

  182. class Window_BattleLog
  183.   #--------------------------------------------------------------------------
  184.   # ● クリティカルヒットの表示
  185.   #--------------------------------------------------------------------------
  186.   alias saba_enemyhp_display_critical display_critical
  187.   def display_critical(target, item)
  188.     $game_temp.saba_lock_hp_view = true if target.result.critical
  189.     saba_enemyhp_display_critical(target, item)
  190.     $game_temp.saba_lock_hp_view = false
  191.   end
  192. end

  193. class Sprite_EnemyStatus < Sprite_Base
  194.   include Saba::SesSys
  195.   include Saba::SesUi
  196.   WLH = 24                  # 行の高さ基準値 (Window Line Height)
  197.   #--------------------------------------------------------------------------
  198.   # ● オブジェクト初期化
  199.   #     viewport : ビューポート
  200.   #--------------------------------------------------------------------------
  201.   def initialize(viewport, enemy_sprites)
  202.     super(viewport)
  203.     @enemy_sprites = enemy_sprites
  204.     @page_change_wait = 0
  205.     @page_count = 0
  206.     self.bitmap = Bitmap.new(Graphics.width, Graphics.height)
  207.     self.bitmap.font.size = 25
  208.     @windowskin = Cache.system("Window")
  209.   end
  210.   #--------------------------------------------------------------------------
  211.   # ● 使用したリソースを解放します。
  212.   #--------------------------------------------------------------------------
  213.   def dispose
  214.     self.bitmap.dispose
  215.     super
  216.   end
  217.   #--------------------------------------------------------------------------
  218.   # ● ステータス情報を更新します。
  219.   #--------------------------------------------------------------------------
  220.   def update
  221.     super
  222.     return if $game_temp.saba_lock_hp_view
  223.    
  224.     if no_change?
  225.       @page_change_wait += 1
  226.       return if @page_change_wait < STATE_PAGE_CHANGE_INTERVAL
  227.       @page_change_wait = 0
  228.       @page_count += 1
  229.     else
  230.       @page_change_wait = 0
  231.     end
  232.     save_enemy_status
  233.     self.bitmap.clear
  234.     draw_status
  235.   end
  236.   #--------------------------------------------------------------------------
  237.   # ● ステートのページ数取得
  238.   #--------------------------------------------------------------------------
  239.   def state_page_count
  240.     n = 1
  241.     @enemy_sprites.size.times do |i|
  242.       n = [(@enemy_states[i].size + @enemy_buff_icons[i].size) / MAX_NUM_STATE, n].max
  243.     end
  244.     return n
  245.   end
  246.   #--------------------------------------------------------------------------
  247.   # ● 敵のHPに変化があったかどうかを調べます。毎回描画するのを防ぐためです。
  248.   # [url=home.php?mod=space&uid=352621]@return[/url] 変化があった場合 true、なかった場合 false
  249.   #--------------------------------------------------------------------------
  250.   def no_change?
  251.     return false if @enemy_hps == nil
  252.     @enemy_sprites.size.times do |i|
  253.       enemy = @enemy_sprites[i].battler
  254.       return false unless @enemy_hps[i] == enemy.hp
  255.       return false unless @enemy_mps[i] == enemy.mp
  256.       return false unless @enemy_exists[i] == enemy.exist?
  257.       return false unless @enemy_states[i] == enemy.states
  258.       return false unless @enemy_buff_icons[i] == enemy.buff_icons
  259.     end
  260.     return true
  261.   end
  262.   #--------------------------------------------------------------------------
  263.   # ● 敵のHPと状態を覚えておきます。
  264.   #--------------------------------------------------------------------------
  265.   def save_enemy_status
  266.     @enemy_hps ||= []
  267.     @enemy_mps ||= []
  268.     @enemy_exists ||= []
  269.     @enemy_states ||= []
  270.     @enemy_buff_icons ||= []
  271.     @enemy_sprites.size.times do |i|
  272.       enemy = @enemy_sprites[i].battler
  273.       @enemy_hps[i] = enemy.hp
  274.       @enemy_mps[i] = enemy.mp
  275.       @enemy_exists[i] = enemy.exist?
  276.       @enemy_states[i] = enemy.states
  277.       @enemy_buff_icons[i] = enemy.buff_icons
  278.     end
  279.   end
  280.   #--------------------------------------------------------------------------
  281.   # ● ステータス情報を描画します。
  282.   #--------------------------------------------------------------------------
  283.   def draw_status
  284.     old_x = 0
  285.     can_shift = false
  286.     enemies = @enemy_sprites.clone.sort{|a, b| a.x <=> b.x}
  287.     enemies.size.times do |index|
  288.       enemy_sprite = enemies[index]
  289.       next_enemy = enemies[index + 1]
  290.       next_enemy_x = next_enemy == nil ? 1000 : next_enemy.x
  291.       enemy = enemy_sprite.battler
  292.       
  293.       if (! enemy.exist?) || enemy.dead?
  294.         old_x = enemy_sprite.x
  295.         can_shift = ! can_shift
  296.         next
  297.       end
  298.       next if define_note?(enemy.enemy, HIDE_HP_MARKER)

  299.       shift = false
  300.       if SHOW_HP_BAR || SHOW_MP_BAR
  301.         shift = draw_hp_mp_bar(enemy_sprite, old_x, next_enemy_x, can_shift)
  302.       end
  303.       if SHOW_STATE
  304.         draw_state(enemy_sprite, shift)
  305.       end
  306.       if SHOW_HP_TEXT
  307.         draw_hp_label(enemy_sprite)
  308.         draw_hp_value(enemy_sprite)
  309.       end
  310.       
  311.       old_x = enemy_sprite.x
  312.       can_shift = ! can_shift
  313.     end
  314.   end
  315.   def container_y(enemy_sprite)
  316.     if RELATIVE_POS
  317.       return [CONTAINER_Y + enemy_sprite.y, MAX_POS_Y].min
  318.     elsif ANCHOR_TOP

  319.       return [CONTAINER_Y + enemy_sprite.y - enemy_sprite.height, MIN_POS_Y].max
  320.     else
  321.       return CONTAINER_Y
  322.     end
  323.   end
  324.   #--------------------------------------------------------------------------
  325.   # ● 指定のエネミーのHPラベルを描画します。
  326.   #    Sprite enemy_sprite : HPラベルを描画するエネミースプライト
  327.   #--------------------------------------------------------------------------
  328.   def draw_hp_label(enemy_sprite)
  329.     x = enemy_sprite.x
  330.     y = container_y(enemy_sprite)
  331.     offset_x = Saba::SesUi::TEXT_OFFSET_X
  332.     offset_y = Saba::SesUi::TEXT_OFFSET_Y
  333.     x += offset_x
  334.     y += offset_y
  335.     width = Saba::SesUi::TEXT_WIDTH
  336.    
  337.     self.bitmap.font.size = Saba::SesUi::LABEL_FONT_SIZE
  338.     self.bitmap.font.color = label_color
  339.     label = Saba::SesUi::LABEL
  340.     self.bitmap.draw_text(x, y, width, WLH, label)
  341.   end
  342.   #--------------------------------------------------------------------------
  343.   # ● 指定のエネミーのHPの値を描画します。
  344.   #    Sprite enemy_sprite : HPの値を描画するエネミースプライト
  345.   #--------------------------------------------------------------------------
  346.   def draw_hp_value(enemy_sprite)
  347.     x = enemy_sprite.x
  348.     y = container_y(enemy_sprite)
  349.     offset_x = Saba::SesUi::VALUE_OFFSET_X
  350.     offset_y = Saba::SesUi::VALUE_OFFSET_Y
  351.     x += offset_x
  352.     y += offset_y
  353.     width = Saba::SesUi::VALUE_WIDTH
  354.    
  355.     self.bitmap.font.size = VALUE_FONT_SIZE
  356.     self.bitmap.font.color = value_color
  357.     enemy = enemy_sprite.battler
  358.     align = Saba::SesUi::VALUE_ALIGN
  359.     self.bitmap.draw_text(x, y, width, WLH, enemy.hp.to_s, align)
  360.   end
  361.   #--------------------------------------------------------------------------
  362.   # ● 指定のエネミーのHPとMPのバーを描画します。
  363.   #    Sprite enemy_sprite : HPのバーを描画するエネミースプライト
  364.   #--------------------------------------------------------------------------
  365.   def draw_hp_mp_bar(enemy_sprite, old_x, next_x, can_shift)
  366.     x = enemy_sprite.x
  367.     y = container_y(enemy_sprite)
  368.     width = BAR_WIDTH
  369.     offset_x = -width / 2
  370.     offset_y = BAR_OFFSET_Y
  371.       
  372.     if can_shift
  373.       if USE_BACKGROUND_IMAGE
  374.         margin = MARGIN_LEFT + MARGIN_RIGHT
  375.       else
  376.         margin = 4
  377.       end
  378.       if x + width + margin > next_x || old_x + width + margin > x
  379.         y += SHIFT_Y
  380.         shift = true
  381.       end
  382.     else
  383.       shift = false
  384.     end

  385.     x += offset_x
  386.     y += offset_y
  387.     height = BAR_HEIGHT
  388.     enemy = enemy_sprite.battler
  389.    
  390.     if SHOW_HP_BAR
  391.       draw_background(x, y, width, height)
  392.    
  393.       width = width * enemy.hp / enemy.mhp
  394.       width = BAR_MIN_WIDTH if width < BAR_MIN_WIDTH
  395.       self.bitmap.gradient_fill_rect(x, y, width, height, hp_gauge_color1, hp_gauge_color2)
  396.     end
  397.    
  398.     if SHOW_MP_BAR
  399.       if enemy.mmp == 0 && ! SHOW_MMP0_MP_BAR
  400.         return shift
  401.       end
  402.       y += MP_OFFSET_Y
  403.       width = BAR_WIDTH
  404.       draw_background(x, y, width, height)
  405.    
  406.       if enemy.mmp > 0
  407.         width = width * enemy.mp / enemy.mmp
  408.       else
  409.         width = 0
  410.       end
  411.       self.bitmap.gradient_fill_rect(x, y, width, height, mp_gauge_color1, mp_gauge_color2)
  412.     end
  413.     return shift
  414.   end
  415.   def draw_state(enemy_sprite, shift)
  416.     x = enemy_sprite.x
  417.     y = container_y(enemy_sprite)
  418.     offset_x = Saba::SesUi::STATE_OFFSET_X
  419.     offset_y = Saba::SesUi::STATE_OFFSET_Y
  420.     x += offset_x
  421.     y += offset_y
  422.     enemy_battler = enemy_sprite.battler
  423.     max_page = (enemy_battler.states.size + enemy_battler.buff_icons.size-1) / MAX_NUM_STATE + 1
  424.     max_page = [max_page, 1].max
  425.     page = @page_count % max_page
  426.     start = page * MAX_NUM_STATE
  427.     index = 0
  428.     count = 0
  429.     y += SHIFT_Y if shift
  430.     for state in enemy_battler.states
  431.       return if count == MAX_NUM_STATE
  432.       if index < start
  433.         index += 1
  434.         next
  435.       end
  436.       draw_icon(state.icon_index, x + 21 * count, y)
  437.       count += 1
  438.     end
  439.     for buff in enemy_battler.buff_icons
  440.       return if count == MAX_NUM_STATE
  441.       if index < start
  442.         index += 1
  443.         next
  444.       end
  445.       draw_icon(buff, x + 21 * count, y)
  446.       count += 1
  447.     end
  448.   end
  449.   #--------------------------------------------------------------------------
  450.   # ● アイコンの描画
  451.   #     icon_index : アイコン番号
  452.   #     x          : 描画先 X 座標
  453.   #     y          : 描画先 Y 座標
  454.   #     enabled    : 有効フラグ。false のとき半透明で描画
  455.   #--------------------------------------------------------------------------
  456.   def draw_icon(icon_index, x, y, enabled = true)
  457.     bitmap = Cache.system("Iconset")
  458.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  459.     self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 128)
  460.   end
  461.   def draw_background(x, y, width, height)
  462.    
  463.     if Saba::SesUi::USE_BACKGROUND_IMAGE
  464.       margin_l = Saba::SesUi::MARGIN_LEFT
  465.       margin_r = Saba::SesUi::MARGIN_RIGHT
  466.       x -= margin_l
  467.       y += Saba::SesUi::BG_OFFSET_Y
  468.       image = Cache.system(Saba::SesUi::BACKGROUND_IMAGE_FILE)
  469.       self.bitmap.blt(x, y, image, Rect.new(0, 0, margin_l, image.height))
  470.       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))
  471.       self.bitmap.blt(x + width + margin_l, y, image, Rect.new(image.width - margin_r, 0, margin_r, image.height))
  472.     else
  473.       color = Saba::SesUi::BAR_BORDER_COLOR
  474.       self.bitmap.fill_rect(x - 1, y - 1, width + 2, height + 2, color)

  475.       color = Saba::SesUi::BAR_BG_COLOR
  476.       self.bitmap.fill_rect(x, y, width, height, color)
  477.     end
  478.   end
  479.   #--------------------------------------------------------------------------
  480.   # ● HP ゲージの色 1 を返します。
  481.   #--------------------------------------------------------------------------
  482.   def hp_gauge_color1
  483.     if USE_SYSTEM_COLOR
  484.       return text_color(20)
  485.     else
  486.       return BAR_FG_COLOR_1
  487.     end
  488.   end
  489.   #--------------------------------------------------------------------------
  490.   # ● HP ゲージの色 2 を返します。
  491.   #--------------------------------------------------------------------------
  492.   def hp_gauge_color2

  493.     if USE_SYSTEM_COLOR
  494.       return text_color(21)
  495.     else
  496.       return BAR_FG_COLOR_2
  497.     end
  498.   end
  499.   #--------------------------------------------------------------------------
  500.   # ● MP ゲージの色 1 を返します。
  501.   #--------------------------------------------------------------------------
  502.   def mp_gauge_color1
  503.     if USE_SYSTEM_COLOR
  504.       return text_color(22)
  505.     else
  506.       return BAR_FG_MP_COLOR_1
  507.     end
  508.   end
  509.   #--------------------------------------------------------------------------
  510.   # ● MP ゲージの色 2 を返します。
  511.   #--------------------------------------------------------------------------
  512.   def mp_gauge_color2

  513.     if USE_SYSTEM_COLOR
  514.       return text_color(23)
  515.     else
  516.       return BAR_FG_MP_COLOR_2
  517.     end
  518.   end
  519.   #--------------------------------------------------------------------------
  520.   # ● HPラベルの文字色を返します。
  521.   #--------------------------------------------------------------------------
  522.   def label_color
  523.     if Saba::SesUi::USE_SYSTEM_COLOR
  524.       return text_color(16)
  525.     else
  526.       return Saba::SesUi::LABEL_COLOR
  527.     end
  528.   end
  529.   #--------------------------------------------------------------------------
  530.   # ● HPの値の文字色を返します。
  531.   #--------------------------------------------------------------------------
  532.   def value_color
  533.     if Saba::SesUi::USE_SYSTEM_COLOR
  534.       return text_color(0)
  535.     else
  536.       return Saba::SesUi::VALUE_COLOR
  537.     end
  538.   end
  539.   #--------------------------------------------------------------------------
  540.   # ● 文字色を返します。
  541.   #     n : 文字色番号 (0~31)
  542.   #--------------------------------------------------------------------------
  543.   def text_color(n)
  544.     x = 64 + (n % 8) * 8
  545.     y = 96 + (n / 8) * 8
  546.     return @windowskin.get_pixel(x, y)
  547.   end
  548. end


  549. #==============================================================================
  550. # Sprite_EnemyStatusを使うように設定
  551. #==============================================================================
  552. class Spriteset_Battle
  553.   #--------------------------------------------------------------------------
  554.   # ● エネミーステータススプライトを作成します。
  555.   #  createEnemies と update の間に呼ばれる必要があるため、
  556.   #  タイマー作成時に一緒に作成しています。
  557.   #--------------------------------------------------------------------------
  558.   alias create_timer_SabaEnemyStatus create_timer
  559.   def create_timer
  560.     @saba_enemyStatusSprite = Sprite_EnemyStatus.new(@saba_enemyStatusViewport, @enemy_sprites)
  561.     create_timer_SabaEnemyStatus
  562.   end
  563.   #--------------------------------------------------------------------------
  564.   # ● エネミーステータススプライトを破棄します。
  565.   #  同じくタイマー破棄時に一緒に破棄しています。
  566.   #--------------------------------------------------------------------------
  567.   alias dispose_timer_SabaEnemyStatus dispose_timer
  568.   def dispose_timer
  569.     @saba_enemyStatusSprite.dispose
  570.     dispose_timer_SabaEnemyStatus
  571.   end
  572.   #--------------------------------------------------------------------------
  573.   # ● エネミーステータスビューポートを作成します。
  574.   #--------------------------------------------------------------------------
  575.   alias create_viewports_SabaEnemyStatus create_viewports
  576.   def create_viewports
  577.     @saba_enemyStatusViewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
  578.     @saba_enemyStatusViewport.z = Saba::SesUi::Z_DEPTH
  579.     create_viewports_SabaEnemyStatus
  580.   end
  581.   #--------------------------------------------------------------------------
  582.   # ● エネミーステータスビューポートを破棄します。
  583.   #--------------------------------------------------------------------------
  584.   alias dispose_viewports_SabaEnemyStatus dispose_viewports
  585.   def dispose_viewports
  586.     dispose_viewports_SabaEnemyStatus
  587.     @saba_enemyStatusViewport.dispose
  588.   end
  589.   #--------------------------------------------------------------------------
  590.   # ● エネミーステータスを更新します。
  591.   #--------------------------------------------------------------------------
  592.   alias update_viewports_SabaEnemyStatus update_viewports
  593.   def update_viewports
  594.     update_viewports_SabaEnemyStatus
  595.     @saba_enemyStatusSprite.update
  596.   end
  597.   #--------------------------------------------------------------------------
  598.   # ● ビューポートの更新
  599.   #--------------------------------------------------------------------------
  600.   alias saba_hp_update_viewports update_viewports
  601.   def update_viewports
  602.     saba_hp_update_viewports
  603.     @saba_enemyStatusSprite.ox = $game_troop.screen.shake
  604.   end
  605. end
复制代码

评分

参与人数 1星屑 +60 收起 理由
熊喵酱 + 60 感謝幫忙

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2107
在线时间
196 小时
注册时间
2019-10-1
帖子
37
4
发表于 2019-12-8 01:41:05 | 只看该作者
tseyik 发表于 2013-9-18 00:13
gauge_bg.png(放在system)

怎么把血条放在头顶啊,血条离人物太远了

点评

設定那些OFFSET就是  发表于 2019-12-8 08:40
回复 支持 1 反对 0

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2107
在线时间
196 小时
注册时间
2019-10-1
帖子
37
5
发表于 2019-12-10 21:56:41 | 只看该作者
tseyik 发表于 2013-9-18 00:13
gauge_bg.png(放在system)

能详细一点吗,我不懂。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
735
在线时间
42 小时
注册时间
2019-11-26
帖子
28
6
发表于 2019-12-10 22:51:58 | 只看该作者
an2chun7 发表于 2019-12-8 01:41
怎么把血条放在头顶啊,血条离人物太远了

代码中的ANCHOR_TOP 设置为 true即可。
ANCHOR = true
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2107
在线时间
196 小时
注册时间
2019-10-1
帖子
37
7
发表于 2019-12-11 23:07:50 | 只看该作者
xsrong2 发表于 2019-12-10 22:51
代码中的ANCHOR_TOP 设置为 true即可。
ANCHOR = true

好像更远了呢

QQ截图20191211120031.png (367.35 KB, 下载次数: 39)

QQ截图20191211120031.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 13:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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