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

Project1

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

[已经解决] KGC的怒气脚本与一个战斗状态整合问题

 关闭 [复制链接]

Lv3.寻梦者

梦石
0
星屑
1190
在线时间
274 小时
注册时间
2011-7-24
帖子
272
跳转到指定楼层
1
发表于 2011-8-14 19:33:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
想问一下怎么将下面的脚本与kgc的怒气脚本整合啊
用了这个脚本后怒气槽就不能在战斗中显示出来了

该怎么改啊!!!!
  1. #==============================================================================
  2. # ★RGSS2
  3. # STR33g1_Battle Status  0.5 08/03/20
  4. #
  5. # ・STR11e has the same specifications.
  6. # ★STR11eの後付ゲージプラグインを利用することができます。
  7. #  このスクリプトより下に導入してください。
  8. #
  9. # ◇Features
  10. # ・Different HP/MP Gauge Flavor
  11. # ・"Rolling" Numbers
  12. # ・State Icon Cycle
  13. #
  14. # ◇Materials
  15. # This script requires several image skins.
  16. # Skin images are placed in the .Graphics\System folder.
  17. #
  18. # ・Main Skin
  19. #  HP/MP Back Gauge Skin
  20. #   No size limit.
  21. # ・HP/MP Gauge
  22. #  Normally two gauges
  23. #   Width = Unlimited
  24. #  Height = Gauge Height(Optional) * 2
  25. #  一列目に通常ゲージ、二列目に追尾ゲージを配置します。
  26. # ・Numbers
  27. #  0123456789 is the order of number arrays
  28. #   Width = One Frame Width(Any Size) * 10
  29. #  Height = Unlimited
  30. # ・State Skin
  31. #  State Icon Main Skin
  32. #  なにもステートが掛かっていない時は非表示になる仕様の為、
  33. #  Main skin is separate.
  34. #  No size limit.
  35. #
  36. #==============================================================================
  37. # ■ Window_BattleStatus
  38. #==============================================================================
  39. class Window_BattleStatus < Window_Selectable
  40.   # Skin File name
  41.   BTSKIN_00 = "Btskin_main"   # Main Skin
  42.   BTSKIN_01 = "Btskin_hp"     # HP(Gauge)
  43.   BTSKIN_02 = "Btskin_mp"     # MP(Gauge)
  44.   BTSKIN_04 = "Btskin_n00"    # HP(Numbers)
  45.   BTSKIN_05 = "Btskin_n00"    # MP(Numbers)
  46.   BTSKIN_03 = "Btskin_state"  # State
  47.   # Skin coordinates[  x,  y]
  48.   BTSKIN_B_XY = [  0,  0]     # Standard Coordinates
  49.   BTSKIN_00XY = [  0,  0]     # Main Skin
  50.   BTSKIN_01XY = [132, 16]     # HP(Gauge)
  51.   BTSKIN_02XY = [216, 16]     # MP(Gauge)
  52.   BTSKIN_04XY = [148,  2]     # HP(Numbers)
  53.   BTSKIN_05XY = [232,  2]     # MP(Numbers)
  54.   BTSKIN_03XY = [104,  0]     # State Skin
  55.   BTSKIN_06XY = [104,  0]     # State
  56.   # Various Settings
  57.   BTSKIN_01GS = 2             # HP Gauge Speed (Low values are fast)
  58.   BTSKIN_02GS = 4             # MP Gauge Speed(Low values are fast)
  59.   BTSKIN_04SS = 8             # HP Rolling Numbers Speed(Low values are fast)
  60.   BTSKIN_05SS = 2             # MP Rolling Numbers Speed(Low values are fast)
  61.   BTSKIN_04NS = 4             # HP Maximum Digits
  62.   BTSKIN_05NS = 4             # MP Maximum Digits
  63.   BTSKIN_06WH = [24,24]       # [State Width, Height]
  64.   BTSKIN_06SC = 2             # State Icon Scroll Speed
  65.                               # (Values close to 1 are fast)
  66.   # バトルステータス座標
  67.   def set_xy
  68.     @x = []
  69.     @y = []
  70.     for i in 0...$game_party.members.size
  71.       x = 0
  72.       y = (i * 24)
  73.       @x[i] = x + 16#+ STRRGSS2::ST_SX
  74.       @y[i] = y + 16#+ STRRGSS2::ST_SY
  75.     end
  76.   end
  77.   # 設定箇所ここまで
  78.   @@f = false
  79.   
  80.   
  81.   #--------------------------------------------------------------------------
  82.   # ★ エイリアス
  83.   #--------------------------------------------------------------------------
  84.   alias initialize_str33 initialize
  85.   def initialize(f = false)
  86.     initialize_str33
  87.     unless @@f
  88.       @f = @@f = true
  89.     else
  90.       @f = false
  91.     end
  92.     set_xy
  93.     @s_sprite = []
  94.     @s_party = []
  95.     @s_lv = []
  96.     @opacity = 0
  97.     self.contents.dispose
  98.     self.create_contents
  99.     self.back_opacity = 0
  100.     self.opacity = 0
  101.     #@column_max = $game_party.actors.size
  102.     @viewport = Viewport.new(0, 416-128, 416, 128)
  103.     @hpgw = (Cache.system(BTSKIN_01)).width
  104.     @mpgw = (Cache.system(BTSKIN_02)).width
  105.     @viewport.z = self.z - 1
  106.     @state_opacity = []
  107.     @item_max = $game_party.members.size
  108.     return unless @f
  109.     for i in 0...@item_max
  110.       draw_item(i)
  111.     end
  112.     update
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # ● リフレッシュ潰し
  116.   #--------------------------------------------------------------------------
  117.   def refresh
  118.     # :-)
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # ● ステートの描画
  122.   #--------------------------------------------------------------------------
  123.   def draw_actor_state(actor)
  124.     icon = Cache.system("Iconset")
  125.     w = actor.states.size * 24
  126.     w = 24 if w < 1
  127.     bitmap = Bitmap.new(w, BTSKIN_06WH[1])
  128.     count = 0
  129.     for state in actor.states
  130.       icon_index = state.icon_index
  131.       x = 24 * count
  132.       rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
  133.       bitmap.blt(x, 0, icon, rect)
  134.       count += 1
  135.     end
  136.     return bitmap
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # ● 名前作成
  140.   #--------------------------------------------------------------------------
  141.   def name_bitmap(actor)
  142.     #bitmap = Bitmap.new(100, 24)
  143.     #bitmap.font.size = 16
  144.     #bitmap.draw_text_f(0, 0, 100, 24, actor.name)
  145.     #draw_actor_name(actor,0, 0)
  146.     #return bitmap
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # ● ステート数取得
  150.   #--------------------------------------------------------------------------
  151.   def state_size(actor)
  152.     return actor.states.size
  153.   end
  154.   #--------------------------------------------------------------------------
  155.   # ● アイテム作成
  156.   #--------------------------------------------------------------------------
  157.   def draw_item(index)
  158.     draw_actor_name(@actor , 0, 0)
  159.     return unless @f
  160.     actor = $game_party.members[index]
  161.     #
  162.     @s_sprite[index] = []
  163.     s = @s_sprite[index]
  164.     # メインスキン
  165.     s[0] = Sprite.new(@viewport)
  166.     s[0].bitmap = Cache.system(BTSKIN_00)
  167.     s[0].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_00XY[0]
  168.     s[0].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_00XY[1]
  169.     s[0].z = 0
  170.     # HP
  171.     s[1] = Sprite.new(@viewport)
  172.     s[1].bitmap = Cache.system(BTSKIN_01)
  173.     s[1].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
  174.     s[1].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
  175.     s[1].z = 4
  176.     w = s[1].bitmap.width
  177.     h = s[1].bitmap.height / 2
  178.     s[1].src_rect.set(0, 0, w, h)
  179.     s[2] = Sprite.new(@viewport)
  180.     s[2].bitmap = Cache.system(BTSKIN_01)
  181.     s[2].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_01XY[0]
  182.     s[2].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_01XY[1]
  183.     s[2].z = 3
  184.     s[2].src_rect.set(0, h, w, h)
  185.     s[11] = 96
  186.     s[6] = Sprite_strNumbers.new(@viewport, BTSKIN_04, BTSKIN_04NS)
  187.     s[6].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_04XY[0]
  188.     s[6].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_04XY[1]
  189.     s[6].z = 5
  190.     s[13] = actor.hp
  191.     s[6].update(s[13])
  192.     # MP
  193.     s[3] = Sprite.new(@viewport)
  194.     s[3].bitmap = Cache.system(BTSKIN_02)
  195.     s[3].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
  196.     s[3].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
  197.     s[3].z = 4
  198.     w = s[3].bitmap.width
  199.     h = s[3].bitmap.height / 2
  200.     s[3].src_rect.set(0, 0, w, h)
  201.     s[4] = Sprite.new(@viewport)
  202.     s[4].bitmap = Cache.system(BTSKIN_02)
  203.     s[4].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_02XY[0]
  204.     s[4].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_02XY[1]
  205.     s[4].z = 3
  206.     s[4].src_rect.set(0, h, w, h)
  207.     s[12] = 56
  208.     s[7] = Sprite_strNumbers.new(@viewport, BTSKIN_05, BTSKIN_05NS)
  209.     s[7].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_05XY[0]
  210.     s[7].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_05XY[1]
  211.     s[7].z = 5
  212.     s[14] = actor.mp
  213.     s[7].update(s[14])
  214.     # ステート
  215.     s[5] = Viewport.new(0, 0, BTSKIN_06WH[0], BTSKIN_06WH[1])
  216.     s[5].rect.x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_06XY[0] + @viewport.rect.x
  217.     s[5].rect.y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_06XY[1] + @viewport.rect.y
  218.     s[5].z = @viewport.z + 1
  219.     s[8] = Sprite.new(@viewport)
  220.     s[8].bitmap = Cache.system(BTSKIN_03)
  221.     s[8].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_03XY[0]
  222.     s[8].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_03XY[1]
  223.     s[8].z = -2
  224.     s[9] = Plane.new(s[5])
  225.     s[9].bitmap = draw_actor_state(actor)
  226.     s[10] = state_size(actor)
  227.     # 現在のステータスに
  228.     s[11] = ((@hpgw * (actor.hp / (actor.maxhp * 1.0))) + 1).truncate
  229.     if actor.maxmp != 0
  230.       s[12] = ((@mpgw * (actor.mp / (actor.maxmp * 1.0))) + 1).truncate
  231.     else
  232.       s[12] = 0
  233.     end
  234.     s[15] = Sprite.new(@viewport)
  235.     s[15].bitmap = name_bitmap(actor)
  236.     s[15].x = @x[index] + 4
  237.     s[15].y = @y[index] + 2
  238.     s[15].z = 0
  239.     s[1].src_rect.width = s[11]
  240.     s[2].src_rect.width = s[11]
  241.     s[3].src_rect.width = s[12]
  242.     s[4].src_rect.width = s[12]
  243.     s[6].update(s[13])
  244.     s[7].update(s[14])
  245.     # 不可視に
  246.     for l in [0,1,2,3,4,8,9,15]
  247.       s[l].opacity = 0
  248.     end
  249.     for l in [6,7]
  250.       s[l].o = 0
  251.     end
  252.     # 情報記憶
  253.     @s_lv[index] = actor.level
  254.     @s_party[index] = [actor.name, actor.hp, actor.maxhp,
  255.                        actor.mp, actor.maxmp, actor.states]
  256.     #
  257.   end
  258.   #--------------------------------------------------------------------------
  259.   # ● オブジェクト開放
  260.   #--------------------------------------------------------------------------
  261.   def dispose      
  262.     super
  263.     return unless @f
  264.     for i in 0...@s_sprite.size
  265.       for l in [0,1,2,3,4,8,9,15]
  266.         @s_sprite[i][l].bitmap.dispose
  267.         @s_sprite[i][l].dispose
  268.       end
  269.       for l in [5,6,7]
  270.         @s_sprite[i][l].dispose
  271.       end
  272.     end
  273.     @@f = false
  274.   end
  275.   #--------------------------------------------------------------------------
  276.   # ● フレーム更新
  277.   #--------------------------------------------------------------------------
  278.   def update
  279.     super
  280.     return unless @f
  281.     for i in 0...@s_sprite.size
  282.       s = @s_sprite[i]
  283.       a = $game_party.members[i]
  284.       m = @s_party[i]
  285.       @state_opacity[i] = 0 if @state_opacity[i] == nil
  286.       # 不透明度アップ
  287.       @state_opacity[i] += 8
  288.       if @opacity < 272
  289.         @opacity += 8
  290.         for l in [0,1,2,3,4,15]
  291.           s[l].opacity = @opacity
  292.         end
  293.         for l in [6,7]
  294.           s[l].o = @opacity
  295.         end
  296.       end
  297.       # 名前更新
  298.       if a.name != m[0]
  299.         s[15].bitmap.dispose
  300.         s[15].bitmap = name_bitmap(a)
  301.         m[0] = a.name
  302.       end
  303.       # HP/MP更新
  304.       update_hp(s,a,m)
  305.       update_mp(s,a,m)
  306.       # ステート更新
  307.       if s[10] > BTSKIN_06WH[0] / 24 and (Graphics.frame_count % BTSKIN_06SC) == 0
  308.         s[9].ox += 1
  309.       end
  310.       if s[10] > 0 and @state_opacity[i] < 272
  311.         for l in [8,9]
  312.           s[l].opacity = @state_opacity[i]
  313.         end
  314.       end
  315.       if a.states != m[5]
  316.         m[5] = a.states
  317.         s[9].ox = 0
  318.         s[9].bitmap.dispose
  319.         s[9].bitmap = draw_actor_state($game_party.members[i])
  320.         s[10] = state_size($game_party.members[i])
  321.         @state_opacity[i] = 0
  322.         for l in [8,9]
  323.           s[l].opacity = @state_opacity[i]
  324.         end
  325.       end
  326.     end
  327.   end
  328.   #--------------------------------------------------------------------------
  329.   # ● フレーム更新 (HP)
  330.   #--------------------------------------------------------------------------
  331.   def update_hp(s,a,m)
  332.     # HPくるくる
  333.     if a.hp != s[13]
  334.       c = 0; c = 1 if a.hp < a.maxhp / 4; c = 2 if a.hp == 0
  335.       if s[13] > a.hp
  336.         s[13] -= BTSKIN_04SS
  337.         s[13] = a.hp if s[13] < a.hp
  338.       else
  339.         s[13] += BTSKIN_04SS
  340.         s[13] = a.hp if s[13] > a.hp
  341.       end
  342.       s[6].update(s[13], c)
  343.     end
  344.     # HP
  345.     if a.hp != m[1]
  346.       s[11] = ((@hpgw * (a.hp / (a.maxhp * 1.0))) + 1).truncate
  347.       m[1] = a.hp
  348.     end
  349.     sr = s[1].src_rect
  350.     if sr.width != s[11]
  351.       sp = BTSKIN_01GS
  352.       sr.width = (s[11] + (s[1].src_rect.width * (sp - 1))) / sp
  353.       sr.width = 2 if sr.width <= 1 and a.hp > 0
  354.     end
  355.     sr = s[2].src_rect
  356.     sp = 2
  357.     if sr.width != s[1].src_rect.width and (Graphics.frame_count % sp) == 0
  358.       if sr.width < s[1].src_rect.width
  359.         sr.width += 1
  360.       else
  361.         sr.width -= 1
  362.       end
  363.     end
  364.     sr.width = 2 if sr.width <= 1 and a.hp > 0
  365.   end
  366.   #--------------------------------------------------------------------------
  367.   # ● フレーム更新 (MP)
  368.   #--------------------------------------------------------------------------
  369.   def update_mp(s,a,m)
  370.     # MPくるくる
  371.     if a.mp != s[14]
  372.       c = 0; c = 1 if a.mp < a.maxmp / 4
  373.       if s[14] > a.mp
  374.         s[14] -= BTSKIN_05SS
  375.         s[14] = a.mp if s[14] < a.mp
  376.       else
  377.         s[14] += BTSKIN_05SS
  378.         s[14] = a.mp if s[14] > a.mp
  379.       end
  380.       s[7].update(s[14], c)
  381.     end
  382.     # MP
  383.     if a.mp != m[3]
  384.       if a.maxmp != 0
  385.         s[12] = ((@mpgw * (a.mp / (a.maxmp * 1.0))) + 1).truncate
  386.       else
  387.         s[12] = 0
  388.       end
  389.       m[3] = a.mp
  390.     end
  391.     sr = s[3].src_rect
  392.     if sr.width != s[12]
  393.       sp = BTSKIN_02GS
  394.       sr.width = (s[12] + (s[3].src_rect.width * (sp - 1))) / sp
  395.       sr.width = 2 if sr.width <= 1 and a.mp > 0
  396.     end
  397.     sr = s[4].src_rect
  398.     sp = 2
  399.     if sr.width != s[3].src_rect.width and (Graphics.frame_count % sp) == 0
  400.       if sr.width < s[3].src_rect.width
  401.         sr.width += 1
  402.       else
  403.         sr.width -= 1
  404.       end
  405.     end
  406.     sr.width = 2 if sr.width <= 1 and a.mp > 0
  407.   end
  408. end

  409. #==============================================================================
  410. # ■ Sprite_strNumber
  411. #==============================================================================
  412. class Sprite_strNumber < Sprite
  413.   #--------------------------------------------------------------------------
  414.   # ● オブジェクト初期化
  415.   #--------------------------------------------------------------------------
  416.   def initialize(v, gra, n = 0)
  417.     @n = n
  418.     super(v)
  419.     self.bitmap = Cache.system(gra)
  420.     @w = self.bitmap.width/10
  421.     @h = self.bitmap.height/3
  422.     self.src_rect = Rect.new(@n*@w, 0, @w, @h)
  423.   end
  424.   #--------------------------------------------------------------------------
  425.   # ● フレーム更新
  426.   #--------------------------------------------------------------------------
  427.   def update(n = -1, c = 0)
  428.     @n = n
  429.     self.src_rect.x = @n*@w
  430.     self.src_rect.y = c*@h
  431.   end
  432. end
  433. #==============================================================================
  434. # ■ Sprite_strNumbers
  435. #==============================================================================
  436. class Sprite_strNumbers
  437.   attr_accessor :x
  438.   attr_accessor :y
  439.   attr_accessor :z
  440.   attr_accessor :o
  441.   #--------------------------------------------------------------------------
  442.   # ● オブジェクト初期化
  443.   #--------------------------------------------------------------------------
  444.   def initialize(v, gra, n = 4, s = 0)
  445.     @n = n # 桁数
  446.     @x = 0
  447.     @y = 0
  448.     @z = 0
  449.     @o = 255
  450.     @sprite = []
  451.     # 字間設定
  452.     b = Cache.system(gra)
  453.     @s = b.width / 10 - s
  454.     # スプライト作成
  455.     for i in 0...n
  456.       @sprite[i] = Sprite_strNumber.new(v, gra)
  457.     end
  458.     update
  459.   end
  460.   #--------------------------------------------------------------------------
  461.   # ● フレーム更新
  462.   #--------------------------------------------------------------------------
  463.   def update(v = 0, c = 0)
  464.     val = []
  465.     # 数値を配列に格納
  466.     for i in 0...@n
  467.       if (10 ** (i)) == 0
  468.         val[i] = v % 10
  469.       else
  470.         val[i] = v / (10 ** (i)) % 10
  471.       end
  472.     end
  473.     val = val.reverse
  474.     # 先頭の0を取り除く
  475.     for i in 0...@n
  476.       if val[i] == 0 and @n != i + 1
  477.         val[i] = -1
  478.       else
  479.         break
  480.       end
  481.     end
  482.     # スプライト更新
  483.     for i in 0...@n
  484.       @sprite[i].update(val[i], c)
  485.       @sprite[i].x = @x + (i * @s)
  486.       @sprite[i].y = @y
  487.       @sprite[i].z = @z
  488.       @sprite[i].opacity = @o
  489.     end
  490.   end
  491.   #--------------------------------------------------------------------------
  492.   # ● 不透明度の適用
  493.   #--------------------------------------------------------------------------
  494.   def o=(val)
  495.     @o = val
  496.     for i in 0...@n
  497.       @sprite[i].opacity = @o
  498.     end
  499.   end
  500.   #--------------------------------------------------------------------------
  501.   # ● オブジェクト開放
  502.   #--------------------------------------------------------------------------
  503.   def dispose
  504.     for i in [email protected]
  505.       @sprite[i].bitmap.dispose
  506.       @sprite[i].dispose
  507.     end
  508.   end
  509. end
复制代码

Lv1.梦旅人

梦石
0
星屑
73
在线时间
2590 小时
注册时间
2010-6-20
帖子
901
2
发表于 2011-8-14 19:55:17 | 只看该作者
本帖最后由 fmy19960827 于 2011-8-14 22:32 编辑

这个血条现实需要另外一个脚本。odg怒气条= =
我现在在同学家,等一会我回家发给你。
表示已经回家了0.0给你把,附加素材(素材表示网上淘的= =那堆怒气条里算好看的吧)



#==============================================================================
# ■ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Selectable
  # スキンファイル名
  BTSKIN_10 = "Btskin_odg"   # スキンファイル名
  BTSKIN_10XY = [300, 6]     # スキン座標 [x, y]
  #--------------------------------------------------------------------------
  # ★ エイリアス
  #--------------------------------------------------------------------------
  alias initialize_str11pog initialize
  def initialize(f = false)
    @odgw = (Cache.system(BTSKIN_10)).width
    initialize_str11pog(f)
  end
  #--------------------------------------------------------------------------
  # ● アイテム作成
  #--------------------------------------------------------------------------
  alias draw_item_str11pog draw_item
  def draw_item(index)
    return unless @f
    actor = $game_party.members[index]
    draw_item_str11pog(index)
    s = @s_sprite[index]
    # ODゲージ
    s[21] = Sprite.new(@viewport)
    s[21].bitmap = Cache.system(BTSKIN_10)
    s[21].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_10XY[0]
    s[21].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_10XY[1]
    s[21].z = 4
    w = s[21].bitmap.width
    h = s[21].bitmap.height / 3
    s[21].src_rect.set(0, h, w, h)
    # ODゲージ下地
    s[22] = Sprite.new(@viewport)
    s[22].bitmap = Cache.system(BTSKIN_10)
    s[22].x = @x[index] + BTSKIN_B_XY[0] + BTSKIN_10XY[0]
    s[22].y = @y[index] + BTSKIN_B_XY[1] + BTSKIN_10XY[1]
    s[22].z = 3
    s[22].src_rect.set(0, 0, w, h)
    #
    s[23] = ((@odgw * (actor.overdrive / (actor.max_overdrive * 1.0))) + 1).truncate
    s[21].src_rect.width = s[23]
    # 不可視に
    for l in [21,22]
      s[l].opacity = 0
    end
    # 追加判定
    @s_party[index].push(actor.overdrive)
  end
  #--------------------------------------------------------------------------
  # ● オブジェクト開放
  #--------------------------------------------------------------------------
  alias dispose_str11pog dispose
  def dispose
    dispose_str11pog
    for i in 0...@s_sprite.size
      for l in [21,22]
        @s_sprite[l].bitmap.dispose
        @s_sprite[l].dispose
      end
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新
  #--------------------------------------------------------------------------
  alias update_str11pog update
  def update
    update_str11pog
    return unless @f
    for i in 0...@s_sprite.size
      s = @s_sprite
      v = (not KGC::OverDrive::HIDE_GAUGE_ACTOR.include?($game_party.members.id))
      for l in [21,22]
        s[l].visible = v
      end
      # 不透明度アップ
      if @opacity < 272
        for l in [21,22]
          s[l].opacity = @opacity
        end
      end
      # OD更新
      update_od(s,$game_party.members,@s_party)
    end
  end
  #--------------------------------------------------------------------------
  # ● フレーム更新 (OD)
  #--------------------------------------------------------------------------
  def update_od(s,a,m)
    sr = s[21].src_rect
    # 100%フラッシュ!
    if @odgw <= sr.width and Graphics.frame_count % 4 < 2
      s[21].src_rect.y = (s[21].src_rect.height * 2)
    else
      s[21].src_rect.y = s[21].src_rect.height
    end
    # ゲージ更新
    if a.overdrive != m[6]
      s[23] = ((@odgw * (a.overdrive / (a.max_overdrive * 1.0))) + 1).truncate
      m[6] = (a.overdrive)
    end
    if sr.width != s[23]
      if sr.width < s[23]
        sr.width += 1
      else
        sr.width -= 1
      end
      sr.width = s[23] if sr.width.abs <= 1
    end
  end
end

点评

3Q  发表于 2011-8-15 10:02
放进代码框吧= =  发表于 2011-8-15 05:59
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 17:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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