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

Project1

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

[已经过期] 横版战斗血条和光标问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
51
在线时间
1306 小时
注册时间
2009-12-13
帖子
1109
跳转到指定楼层
1
发表于 2013-12-4 20:09:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 zjynew2 于 2013-12-14 11:27 编辑

想用VA做个小游戏,觉得后知后觉的横版很不错,
下面是大概设想,
选择敌人时候能使用光标,隐藏掉下面选敌人的视窗。(光标和视窗隐藏已经搞定)选中后可以在画面上方显示HP(或者加上MP和状态、怪物名),不知哪位朋友能给在下一点指点,可以的话能提供个合适的脚本。

上方HP外框若是能使用自己的PNG图片那是再好不过。

Lv1.梦旅人

梦石
0
星屑
65
在线时间
123 小时
注册时间
2013-5-12
帖子
24
2
发表于 2013-12-14 09:10:08 | 只看该作者
看看这个?(横版战斗光标)

横版战斗光标.zip

1.51 MB, 下载次数: 170

横版战斗光标(ACE)

点评

谢谢你的回复,不过光标和选敌视窗的问题已经自己搞定了。现在还差血条的显示。  发表于 2013-12-14 11:27
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
123 小时
注册时间
2013-5-12
帖子
24
3
发表于 2013-12-14 11:40:58 | 只看该作者
名雪 发表于 2013-12-14 09:10
看看这个?(横版战斗光标)


如果只是要显示敌人血条的话,用这个脚本,加张图片
  1. #==============================================================================
  2. # ■ 敵のHP表示
  3. #   @version 0.5 12/01/24
  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.     #--------------------------------------------------------------------------
  18.     # ● テキスト関係
  19.     #--------------------------------------------------------------------------
  20.     # HPテキストを表示する場合true、表示しない場合false
  21.     SHOW_HP_TEXT      = true
  22.    
  23.    
  24.     # HPラベルのテキストです。
  25.     LABEL             = "HP"
  26.    
  27.     # HPラベルの色です。システムカラーを使う場合無視されます。
  28.     LABEL_COLOR  = Color.new(180, 180, 255)
  29.    
  30.     # HPラベルのフォントサイズです。
  31.     LABEL_FONT_SIZE   = 25
  32.    
  33.    
  34.     # HPの値の色です。システムカラーを使う場合無視されます。
  35.     VALUE_COLOR  = Color.new(255, 255, 255)
  36.    
  37.     # HPの値のフォントサイズです。
  38.     VALUE_FONT_SIZE   = 25
  39.    
  40.     # HPの値の基準点です。0=左揃え 1=中央揃え 2=右揃え
  41.     VALUE_ALIGN       = 1
  42.    
  43.    
  44.     # コンテナの中心からの、HPラベルのX座標の相対位置です。
  45.     TEXT_OFFSET_X  = -35
  46.    
  47.     # コンテナの中心からの、HPラベルのY座標の相対位置です。
  48.     TEXT_OFFSET_Y  = 0
  49.    
  50.     # HPラベルの横幅です。
  51.     TEXT_WIDTH     = 40
  52.    
  53.    
  54.     # コンテナの中心からの、HPの値のX座標の相対位置です。
  55.     VALUE_OFFSET_X = -5
  56.    
  57.     # コンテナの中心からの、HPの値のY座標の相対位置です。
  58.     VALUE_OFFSET_Y = 0
  59.    
  60.     # HPの値の横幅です。
  61.     VALUE_WIDTH    = 40
  62.    
  63.     #--------------------------------------------------------------------------
  64.     # ● HPバー関係
  65.     #--------------------------------------------------------------------------
  66.     # HPバーを表示する場合true、表示しない場合false
  67.     SHOW_HP_BAR      = true
  68.    
  69.     # 背景に画像を使う場合 true に設定します。
  70.     # true の場合、Graphics/System/gauge_bg.png が使われます。
  71.     USE_BACKGROUND_IMAGE = true
  72.    
  73.     BACKGROUND_IMAGE_FILE = "gauge_bg"
  74.    
  75.     # 背景画像の、左端からゲージ本体までの幅です。
  76.     MARGIN_LEFT = 3
  77.    
  78.     # 背景画像の、右端からゲージ本体までの幅です。
  79.     MARGIN_RIGHT = 3
  80.    
  81.     # 背景画像の y の相対値です。
  82.     BG_OFFSET_Y = -3
  83.    
  84.     # Z深度です。この値が大きいほど、手前に表示されます。
  85.     Z_DEPTH = 10
  86.    
  87.     # HPバーの背景色です。システムカラーを使う場合無視されます。
  88.     BAR_BG_COLOR        = Color.new(50, 50, 50, 70)
  89.    
  90.     BAR_BORDER_COLOR    = Color.new(0, 0, 0)
  91.    
  92.     # HPバーの前景色です。システムカラーを使う場合無視されます。
  93.     BAR_FG_COLOR_1        = Color.new(155, 110, 30)
  94.    
  95.     # HPバーの前景色です。システムカラーを使う場合無視されます。
  96.     BAR_FG_COLOR_2        = Color.new(255, 200, 120)
  97.    

  98.     # コンテナの中心からの、HPバーのY座標の相対位置です。
  99.     BAR_OFFSET_Y  = 15
  100.    
  101.     # HPバーの横幅です。
  102.     BAR_WIDTH  = 80
  103.    
  104.     # HPバーの高さです。
  105.     BAR_HEIGHT  = 4
  106.    
  107.     # HPバーの最低の長さです。HPが1でも最低この長さが表示されます。
  108.     BAR_MIN_WIDTH = 2

  109.     # バーが重なっていた場合にずらす y の値です。
  110.     SHIFT_Y = -15
  111.    
  112.     #--------------------------------------------------------------------------
  113.     # ● ステート関係
  114.     #--------------------------------------------------------------------------
  115.     # ステートが2ページ以上にわたるとき、それが切り替わるフレーム数
  116.     STATE_PAGE_CHANGE_INTERVAL = 60
  117.     # ステートを表示する場合true、表示しない場合false
  118.     SHOW_STATE      = true
  119.     # ステートアイコンの最大表示数です。
  120.     MAX_NUM_STATE   = 4
  121.     # コンテナの中心からの、ステートのX座標の相対位置です。
  122.     STATE_OFFSET_X = -42
  123.     # コンテナの中心からの、ステートのY座標の相対位置です。
  124.     STATE_OFFSET_Y = -11
  125.   end
  126.   
  127.   module SesSys
  128.     # この文字列を敵のメモ欄に入れると、その敵のHPが表示されなくなります。
  129.     HIDE_HP_MARKER = "<HIDE_HP>"
  130.    
  131.     def define_note?(item, name)
  132.       return false if item == nil
  133.       return item.note.include?(HIDE_HP_MARKER)
  134.     end
  135.   end
  136. end



  137. #==============================================================================
  138. # ここから実装です。
  139. #==============================================================================
  140. $imported = {} if $imported == nil
  141. $imported["ShowEnemyStatus"] = true

  142. class Game_Temp
  143.   #--------------------------------------------------------------------------
  144.   # ● 公開インスタンス変数
  145.   #--------------------------------------------------------------------------
  146.   attr_accessor   :saba_lock_hp_view
  147.   #--------------------------------------------------------------------------
  148.   # ● オブジェクト初期化
  149.   #--------------------------------------------------------------------------
  150.   alias saba_enemyhp_initialize initialize
  151.   def initialize
  152.     saba_enemyhp_initialize
  153.     @saba_lock_hp_view = false
  154.   end
  155. end

  156. class Window_BattleLog
  157.   #--------------------------------------------------------------------------
  158.   # ● クリティカルヒットの表示
  159.   #--------------------------------------------------------------------------
  160.   alias saba_enemyhp_display_critical display_critical
  161.   def display_critical(target, item)
  162.     $game_temp.saba_lock_hp_view = true if target.result.critical
  163.     saba_enemyhp_display_critical(target, item)
  164.     $game_temp.saba_lock_hp_view = false
  165.   end
  166. end

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

  270.       shift = false
  271.       if Saba::SesUi::SHOW_HP_BAR
  272.         shift = draw_hp_bar(enemy_sprite, old_x, next_enemy_x, can_shift)
  273.       end
  274.       if Saba::SesUi::SHOW_STATE
  275.         draw_state(enemy_sprite, shift)
  276.       end
  277.       if Saba::SesUi::SHOW_HP_TEXT
  278.         draw_hp_label(enemy_sprite)
  279.         draw_hp_value(enemy_sprite)
  280.       end
  281.       
  282.       old_x = enemy_sprite.x
  283.       can_shift = ! can_shift
  284.     end
  285.   end
  286.   #--------------------------------------------------------------------------
  287.   # ● 指定のエネミーのHPラベルを描画します。
  288.   #    Sprite enemy_sprite : HPラベルを描画するエネミースプライト
  289.   #--------------------------------------------------------------------------
  290.   def draw_hp_label(enemy_sprite)
  291.     x = enemy_sprite.x
  292.     y = Saba::SesUi::CONTAINER_Y
  293.     offset_x = Saba::SesUi::TEXT_OFFSET_X
  294.     offset_y = Saba::SesUi::TEXT_OFFSET_Y
  295.     x += offset_x
  296.     y += offset_y
  297.     width = Saba::SesUi::TEXT_WIDTH
  298.    
  299.     self.bitmap.font.size = Saba::SesUi::LABEL_FONT_SIZE
  300.     self.bitmap.font.color = label_color
  301.     label = Saba::SesUi::LABEL
  302.     self.bitmap.draw_text(x, y, width, WLH, label)
  303.   end
  304.   #--------------------------------------------------------------------------
  305.   # ● 指定のエネミーのHPの値を描画します。
  306.   #    Sprite enemy_sprite : HPの値を描画するエネミースプライト
  307.   #--------------------------------------------------------------------------
  308.   def draw_hp_value(enemy_sprite)
  309.     x = enemy_sprite.x
  310.     y = Saba::SesUi::CONTAINER_Y
  311.     offset_x = Saba::SesUi::VALUE_OFFSET_X
  312.     offset_y = Saba::SesUi::VALUE_OFFSET_Y
  313.     x += offset_x
  314.     y += offset_y
  315.     width = Saba::SesUi::VALUE_WIDTH
  316.    
  317.     self.bitmap.font.size = VALUE_FONT_SIZE
  318.     self.bitmap.font.color = value_color
  319.     enemy = enemy_sprite.battler
  320.     align = Saba::SesUi::VALUE_ALIGN
  321.     self.bitmap.draw_text(x, y, width, WLH, enemy.hp.to_s, align)
  322.   end
  323.   #--------------------------------------------------------------------------
  324.   # ● 指定のエネミーのHPのバーを描画します。
  325.   #    Sprite enemy_sprite : HPのバーを描画するエネミースプライト
  326.   #--------------------------------------------------------------------------
  327.   def draw_hp_bar(enemy_sprite, old_x, next_x, can_shift)
  328.     x = enemy_sprite.x
  329.     y = Saba::SesUi::CONTAINER_Y
  330.     width = Saba::SesUi::BAR_WIDTH
  331.     offset_x = -width / 2
  332.     offset_y = Saba::SesUi::BAR_OFFSET_Y
  333.       
  334.     if can_shift
  335.       if Saba::SesUi::USE_BACKGROUND_IMAGE
  336.         margin = Saba::SesUi::MARGIN_LEFT + Saba::SesUi::MARGIN_RIGHT
  337.       else
  338.         margin = 4
  339.       end
  340.       if x + width + margin > next_x || old_x + width + margin > x
  341.         y += Saba::SesUi::SHIFT_Y
  342.         shift = true
  343.       end
  344.     else
  345.       shift = false
  346.     end

  347.     x += offset_x
  348.     y += offset_y
  349.     height = Saba::SesUi::BAR_HEIGHT
  350.    
  351.     draw_background(x, y, width, height)
  352.    
  353.     enemy = enemy_sprite.battler
  354.     width = width * enemy.hp / enemy.mhp
  355.     width = Saba::SesUi::BAR_MIN_WIDTH if width < BAR_MIN_WIDTH
  356.     self.bitmap.gradient_fill_rect(x, y, width, height, hp_gauge_color1, hp_gauge_color2)
  357.     return shift
  358.   end
  359.   def draw_state(enemy_sprite, shift)
  360.     x = enemy_sprite.x
  361.     y = Saba::SesUi::CONTAINER_Y
  362.    
  363.     offset_x = Saba::SesUi::STATE_OFFSET_X
  364.     offset_y = Saba::SesUi::STATE_OFFSET_Y
  365.     x += offset_x
  366.     y += offset_y
  367.     enemy_battler = enemy_sprite.battler
  368.     max_page = (enemy_battler.states.size + enemy_battler.buff_icons.size-1) / MAX_NUM_STATE + 1
  369.     max_page = [max_page, 1].max
  370.     page = @page_count % max_page
  371.     start = page * MAX_NUM_STATE
  372.     index = 0
  373.     count = 0
  374.     y += SHIFT_Y if shift
  375.     for state in enemy_battler.states
  376.       return if count == MAX_NUM_STATE
  377.       if index < start
  378.         index += 1
  379.         next
  380.       end
  381.       draw_icon(state.icon_index, x + 21 * count, y)
  382.       count += 1
  383.     end
  384.     for buff in enemy_battler.buff_icons
  385.       return if count == MAX_NUM_STATE
  386.       if index < start
  387.         index += 1
  388.         next
  389.       end
  390.       draw_icon(buff, x + 21 * count, y)
  391.       count += 1
  392.     end
  393.   end
  394.   #--------------------------------------------------------------------------
  395.   # ● アイコンの描画
  396.   #     icon_index : アイコン番号
  397.   #     x          : 描画先 X 座標
  398.   #     y          : 描画先 Y 座標
  399.   #     enabled    : 有効フラグ。false のとき半透明で描画
  400.   #--------------------------------------------------------------------------
  401.   def draw_icon(icon_index, x, y, enabled = true)
  402.     bitmap = Cache.system("Iconset")
  403.     rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  404.     self.bitmap.blt(x, y, bitmap, rect, enabled ? 255 : 128)
  405.   end
  406.   def draw_background(x, y, width, height)
  407.    
  408.     if Saba::SesUi::USE_BACKGROUND_IMAGE
  409.       margin_l = Saba::SesUi::MARGIN_LEFT
  410.       margin_r = Saba::SesUi::MARGIN_RIGHT
  411.       x -= margin_l
  412.       y += Saba::SesUi::BG_OFFSET_Y
  413.       image = Cache.system(Saba::SesUi::BACKGROUND_IMAGE_FILE)
  414.       self.bitmap.blt(x, y, image, Rect.new(0, 0, margin_l, image.height))
  415.       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))
  416.       self.bitmap.blt(x + width + margin_l, y, image, Rect.new(image.width - margin_r, 0, margin_r, image.height))
  417.     else
  418.       color = Saba::SesUi::BAR_BORDER_COLOR
  419.       self.bitmap.fill_rect(x - 1, y - 1, width + 2, height + 2, color)

  420.       color = Saba::SesUi::BAR_BG_COLOR
  421.       self.bitmap.fill_rect(x, y, width, height, color)
  422.     end
  423.   end
  424.   #--------------------------------------------------------------------------
  425.   # ● HP ゲージの色 1 を返します。
  426.   #--------------------------------------------------------------------------
  427.   def hp_gauge_color1
  428.     if Saba::SesUi::USE_SYSTEM_COLOR
  429.       return text_color(20)
  430.     else
  431.       return Saba::SesUi::BAR_FG_COLOR_1
  432.     end
  433.   end
  434.   #--------------------------------------------------------------------------
  435.   # ● HP ゲージの色 2 を返します。
  436.   #--------------------------------------------------------------------------
  437.   def hp_gauge_color2

  438.     if Saba::SesUi::USE_SYSTEM_COLOR
  439.       return text_color(21)
  440.     else
  441.       return Saba::SesUi::BAR_FG_COLOR_2
  442.     end
  443.   end
  444.   #--------------------------------------------------------------------------
  445.   # ● HPラベルの文字色を返します。
  446.   #--------------------------------------------------------------------------
  447.   def label_color
  448.     if Saba::SesUi::USE_SYSTEM_COLOR
  449.       return text_color(16)
  450.     else
  451.       return Saba::SesUi::LABEL_COLOR
  452.     end
  453.   end
  454.   #--------------------------------------------------------------------------
  455.   # ● HPの値の文字色を返します。
  456.   #--------------------------------------------------------------------------
  457.   def value_color
  458.     if Saba::SesUi::USE_SYSTEM_COLOR
  459.       return text_color(0)
  460.     else
  461.       return Saba::SesUi::VALUE_COLOR
  462.     end
  463.   end
  464.   #--------------------------------------------------------------------------
  465.   # ● 文字色を返します。
  466.   #     n : 文字色番号 (0~31)
  467.   #--------------------------------------------------------------------------
  468.   def text_color(n)
  469.     x = 64 + (n % 8) * 8
  470.     y = 96 + (n / 8) * 8
  471.     return @windowskin.get_pixel(x, y)
  472.   end
  473. end


  474. #==============================================================================
  475. # Sprite_EnemyStatusを使うように設定
  476. #==============================================================================
  477. class Spriteset_Battle
  478.   #--------------------------------------------------------------------------
  479.   # ● エネミーステータススプライトを作成します。
  480.   #  createEnemies と update の間に呼ばれる必要があるため、
  481.   #  タイマー作成時に一緒に作成しています。
  482.   #--------------------------------------------------------------------------
  483.   alias create_timer_SabaEnemyStatus create_timer
  484.   def create_timer
  485.     @saba_enemyStatusSprite = Sprite_EnemyStatus.new(@saba_enemyStatusViewport, @enemy_sprites)
  486.     create_timer_SabaEnemyStatus
  487.   end
  488.   #--------------------------------------------------------------------------
  489.   # ● エネミーステータススプライトを破棄します。
  490.   #  同じくタイマー破棄時に一緒に破棄しています。
  491.   #--------------------------------------------------------------------------
  492.   alias dispose_timer_SabaEnemyStatus dispose_timer
  493.   def dispose_timer
  494.     @saba_enemyStatusSprite.dispose
  495.     dispose_timer_SabaEnemyStatus
  496.   end
  497.   #--------------------------------------------------------------------------
  498.   # ● エネミーステータスビューポートを作成します。
  499.   #--------------------------------------------------------------------------
  500.   alias create_viewports_SabaEnemyStatus create_viewports
  501.   def create_viewports
  502.     @saba_enemyStatusViewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
  503.     @saba_enemyStatusViewport.z = Saba::SesUi::Z_DEPTH
  504.     create_viewports_SabaEnemyStatus
  505.   end
  506.   #--------------------------------------------------------------------------
  507.   # ● エネミーステータスビューポートを破棄します。
  508.   #--------------------------------------------------------------------------
  509.   alias dispose_viewports_SabaEnemyStatus dispose_viewports
  510.   def dispose_viewports
  511.     dispose_viewports_SabaEnemyStatus
  512.     @saba_enemyStatusViewport.dispose
  513.   end
  514.   #--------------------------------------------------------------------------
  515.   # ● エネミーステータスを更新します。
  516.   #--------------------------------------------------------------------------
  517.   alias update_viewports_SabaEnemyStatus update_viewports
  518.   def update_viewports
  519.     update_viewports_SabaEnemyStatus
  520.     @saba_enemyStatusSprite.update
  521.   end
  522.   #--------------------------------------------------------------------------
  523.   # ● ビューポートの更新
  524.   #--------------------------------------------------------------------------
  525.   alias saba_hp_update_viewports update_viewports
  526.   def update_viewports
  527.     saba_hp_update_viewports
  528.     @saba_enemyStatusSprite.ox = $game_troop.screen.shake
  529.   end
  530. end
复制代码

gauge_bg.png (240 Bytes, 下载次数: 62)

gauge_bg.png

点评

同学,你很积极。我现在在用的就是这个脚本,并不是我要的效果~  发表于 2013-12-14 11:59

评分

参与人数 1星屑 +100 收起 理由
zjynew2 + 100 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

巫女会长

梦石
0
星屑
60
在线时间
1028 小时
注册时间
2009-10-24
帖子
3470

贵宾

4
发表于 2013-12-14 13:29:28 | 只看该作者
本帖最后由 dukesward 于 2013-12-14 13:31 编辑

这个在spriteset_Battle里写很简单。你可以参考我在游戏策划讨论区发过的一个自己写的系统 http://rpg.blue/thread-339937-1-1.html,虽然没有完成(技能和物品部分还有需要修改的)但是很多功能包括你这个已经实现了。你也可以等别的会脚本的帮你写,不过如果稍微懂点自己研究写起来也挺快的。

评分

参与人数 1星屑 +300 收起 理由
zjynew2 + 300 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 07:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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