赞 | 0 |
VIP | 0 |
好人卡 | 2 |
积分 | 5 |
经验 | 31761 |
最后登录 | 2025-8-4 |
在线时间 | 1787 小时 |
- 梦石
- 0
- 星屑
- 502
- 在线时间
- 1787 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
這是我將官網的S_HUD修該而成的怪物血條0 s4 M; Q- u c e$ c( t
會在每隻事件怪物的腳下顯示3 I1 s+ a6 I" ?; Y% d) V; g( z; v
問題是不知道為什麼. D6 g+ q4 A6 t6 x
有時打怪打一打會跳出4 U3 S @2 n& J7 R
---------------------------7 z9 ]/ N3 c! T U5 `/ V2 d
XAS
9 T! m6 u2 b! o% ~; S---------------------------/ ]6 t* p" d J
脚本 'MOG - S HUD' 的 203 行 发生了 RGSSError。
8 l0 M, b' k; {' ?$ s- ?! P9 J. U0 W9 Z
disposed bitmap
; M/ G- Q! O' \- N- M& k* g---------------------------
$ \' L: y5 o8 N" I5 c確定
7 e# m2 ^( S5 S---------------------------2 R8 o. v6 s: b ~5 q4 p+ ]
( R; l" g" [1 {! s" F- e
這是腳本
5 z& j0 j: z2 A( r6 \: u' T' m* n* W" Q+ E$ n3 p3 }
- #===============================================================================
1 a, z! x7 s) X1 F6 j - # MOG - s Hud 1.0
" p" U: q) q% u* ` - #===============================================================================
a' p% t" @# N7 } - # By Moghunter
8 Q8 s% Y5 w0 A& p4 |$ m+ I - # http://www.atelier-rgss.com6 C) _8 T/ `& m- _
- #===============================================================================$ K$ s# o) {/ R) S4 c( T, a: H# q) Z
- # Translated by Calvin624 ; |% `* x' f- k4 }. q% I3 s9 L3 n
- # http://www.xasabs.wordpress.com5 d2 y; t3 `% p% U# F/ z
- #===============================================================================( c9 u( ^' Z) }5 k
- ###############################-DESCRIPTION-####################################
5 U# [0 U/ J$ ?# S: e - #===============================================================================
- V4 v+ u0 C3 | - # Personal HUD – displays the HP and SP below the hero.: m8 k, u. ^# t/ h3 h! |( o
- #===============================================================================- O' e' O! y. w/ I6 u
- #; @2 M, N! V+ i Z# Y$ f7 C: w
- # Graphics required:2 {. f$ ^) [0 W X! A) W4 b
- #
; ?5 p8 d0 h- a2 r, K - # S_Border_HP_Meter.png- i; ]+ ^3 \% W" M
- # S_Border_SP_Meter.png( ?* S) N, \% r* Y- f& k
- # S_HP_Meter.png
7 |; Y* v7 |2 T$ I3 v: e: h - # S_SP_Meter.png5 \" T7 \3 |4 I4 Y, Q4 L+ A- w
- #
8 j" g& @8 y; L, {, M7 Y1 [* V4 B2 b - # All images must be in the Windowskin folder.
, v/ c( c& @) f9 z0 S - #
" k$ S* r7 }7 x$ ]( s* H# @6 } - #===============================================================================
! y( [8 E( o, N6 M" i - module MOG* z4 z- Q8 o% l5 Y! I9 ~& C1 \4 c
- VISIBLE_DEF = false
: M! ]9 F R: ?% D2 O( a0 O - # Show HP meter?+ f- r7 T4 R: f0 G. D/ M" v
- HP_HUD = true8 n" z5 K# `' p" P. _
- # Position of the HP border: C& f: w9 s5 D; V/ U& q" K: A
- S_BORDER_HP_METER_X = -2
) z. q7 r7 ?& D& i - S_BORDER_HP_METER_Y = -2
# W; L6 K5 n* q2 y8 q" g) M: E - # Position of the HP meter! Y2 `' x2 o3 S' x& C; d* s L
- S_HP_METER_X = 0( P3 O% {# D+ g+ Y
- S_HP_METER_Y = 00 m h5 W) R/ b/ t$ e5 a
- # Show SP meter?0 x! t6 h, ?2 I, c2 E) N4 _
- SP_HUD = true
6 @7 U/ z! V1 e2 j7 M7 I6 J* U - # Position of the SP border t% R$ u/ e/ M
- S_BORDER_SP_METER_X = 0
, Z2 t- \) r, j4 M3 Q - S_BORDER_SP_METER_Y = 10
: Y+ [' f+ C, ?+ p* p& r9 k b4 W( ~3 q - # Position of the SP meter" Y1 s+ P ]; ~ O: r8 k. `
- S_SP_METER_X = 0
7 V; ]" t# R5 {" f& t - S_SP_METER_Y = 10
5 Y% t9 K. O" V- }* Q* v t6 l - # Switch to disable the HUD: ?( ^. D# T% \! `- B
- DISABLE_SHUD_SWITCH = 5
3 I8 M) A x p. b - RANGE = 20) f( j* _6 n# o+ t7 w8 P
- end
# n r" M. C/ L9 R6 L/ L% ` - #===============================================================================
/ Z1 c3 t- v2 i# J- ] - # S Hud! s$ Z% N( N- x; h4 ~, ]
- #===============================================================================
8 K& M W: q0 h/ `3 b - class S_Hud < RPG::Sprite
& o+ T; d4 D& [: d, z9 b6 ^; J! Z( f - include MOG+ O$ w6 o6 S3 i& b0 Z0 J' |
- #--------------------------------------------------------------------------/ c( q/ p$ H2 a! W* Z1 }4 B, R
- # * Initialize
. k! B( h9 r8 C* N. |" W - #--------------------------------------------------------------------------
- D" {% s8 h8 q3 K+ O* n - def initialize(enemy,viewport)
/ W# B! ]* M7 p) c - super(viewport) & F$ s/ d ^2 ?8 t
- @enemy = enemy
' Z' I4 F9 y/ k! q - @battler = @enemy.battler
- _0 K1 t) e, i8 D; `0 H - @old_hp = 00 M7 Z1 ]9 s8 @: X: @
- @old_sp = 0) |! o5 P' p9 V! U2 j a
- @old_vis = false
' q; u! ?! ?* H( N$ b - self.bitmap = Bitmap.new(100, 100)2 ]- }8 f. x- T. D V
- self.visible = (VISIBLE_DEF)#false
* r8 U. i: j3 j! O6 P2 Y3 g - self.z = 100
3 f6 [8 `; s6 M7 ~9 a - #HP Border -------------------------------------------------------------------
% s& \1 w7 U# M& B/ T" p - @layout_image = RPG::Cache.windowskin("S_Border_HP_Meter")
' v, e1 X! A9 D - @layout_bitmap = Bitmap.new(@layout_image.width,@layout_image.height)7 `+ K4 R* `- z. q- @, k
- @layout_sprite = Sprite.new
) K: k8 C) e3 W. w8 V- O5 t - @layout_sprite.bitmap = @layout_bitmap
" U6 D6 V& R$ I! U6 Y% m c - @layout_src_rect_back = Rect.new(0, 0,@layout_image.width, @layout_image.height)
* A* q5 ~& P/ N3 t" | - @layout_bitmap.blt(0,0, @layout_image, @layout_src_rect_back) + e7 Z/ M6 K1 E& ~. V
- @layout_sprite.z = 50016 z! C6 O: s# e. t# e. }) v
- #HP Meter ---------------------------------------------------
* k7 t4 t) a4 n. l+ B - @hp_flow = 0! m& k e- [- ~" [. P" U8 ~
- @hp_damage_flow = 0
' i* ?" }; l8 T* B! e1 T6 f - @hp_image = RPG::Cache.windowskin("S_HP_Meter")
/ P: S4 B2 d( @/ `% y7 P3 O - @hp_bitmap = Bitmap.new(@hp_image.width,@hp_image.height)
" w9 Y! f+ [1 p% ?) Z0 N4 {( h6 x( f - @hp_range = @hp_image.width / 3* Q% R# X% R1 r R
- @hp_width = @hp_range * @battler.hp / @battler.maxhp . z- q1 d- h$ U- p8 r5 S
- @hp_width2 = @hp_range / 2
+ i1 w. C0 c1 ~% e - @hp_height = @hp_image.height / 29 ^ r1 j" n7 z7 E# _
- @hp_width_old = @hp_width
0 ]5 X, s3 P6 \& q - @hp_src_rect = Rect.new(@hp_range, 0, @hp_width, @hp_height)
$ X1 P8 x; W' n# f1 n ^6 F - @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect)
. |# l/ t e2 |' o9 k+ g9 x - @hp_sprite = Sprite.new( W, T1 c( N" P q; I8 l4 ?) n
- @hp_sprite.bitmap = @hp_bitmap
. I# d% I" {, F Z - @hp_sprite.z = 5002- }+ s% x; V+ H. e. }5 ^
- #SP Border -------------------------------------------------------------------7 }- i- }; t4 ^% W' E3 S
- @layout2_image = RPG::Cache.windowskin("S_Border_SP_Meter") L5 a7 j a# }% T; M: i: o
- @layout2_bitmap = Bitmap.new(@layout2_image.width,@layout2_image.height)/ M' }- b* G0 M$ f# M8 g, M
- @layout2_sprite = Sprite.new* T7 A7 {- \; e; W
- @layout2_sprite.bitmap = @layout2_bitmap
' ]" i& A8 U# I5 e+ r X2 W - @layout2_src_rect_back = Rect.new(0, 0,@layout2_image.width, @layout2_image.height)/ P9 l5 m* k4 T( ^' O7 @
- @layout2_bitmap.blt(0,0, @layout2_image, @layout2_src_rect_back) 3 j& E3 d" |5 G) [# {; V
- @layout2_sprite.z = 5001 + G8 e+ `* d2 ~3 c0 @
- #SP Meter ------------------------------------------------------# g- \# }9 ?5 d$ w& F4 D
- @sp_flow = 0/ o7 G9 K% \& z7 o: h: O
- @sp_damage_flow = 0
2 `2 O. b7 X6 K7 E" t' A - @sp_image = RPG::Cache.windowskin("S_SP_Meter")9 W7 d: a: s7 E
- @sp_bitmap = Bitmap.new(@sp_image.width,@sp_image.height)' S+ w' l% K6 T0 h# X# k/ S+ t
- @sp_range = @sp_image.width / 3: E. v6 b+ T' E; S2 s
- @sp_width = @sp_range * @battler.sp / @battler.maxsp ( ~2 U8 A0 X9 _; e2 d' H" H
- @sp_width2 = @sp_range / 2
9 E3 d" H7 z3 M7 f. O8 M+ D - @sp_height = @sp_image.height / 2
0 I% N" ?$ V5 e9 X' N+ m - @sp_width_old = @sp_width8 ]" g# ?$ B* ]3 ?) t2 M
- @sp_src_rect = Rect.new(@sp_range, 0, @sp_width, @sp_height)0 p3 I7 h C# x
- @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect)+ k5 X2 X! i( B! K
- @sp_sprite = Sprite.new
9 T- Z, A9 A" ]) @1 ~ - @sp_sprite.bitmap = @sp_bitmap% \/ k& [& D5 c5 r5 d
- @sp_sprite.z = 50029 z& E) J! V; B* a4 W
- update9 G9 r0 j2 }! _% _; `# j
- end
( _6 c' z/ r6 X" i0 y- x - #--------------------------------------------------------------------------0 ?$ |! B! S1 m8 H% L6 T- g
- # * Refresh
! `! @6 U' V! _- K* s - #--------------------------------------------------------------------------3 u5 u/ H6 y& B) S" e9 B1 M! I
- def refresh
8 z, K' y$ F B2 l, E - return if @old_hp == @battler.hp and @old_vis != self.visible4 K8 @* D. j0 u0 u5 P7 {* c
- self.bitmap.clear
* w2 l" ?) n9 `" E - @old_vis = self.visible0 {# R' c6 W7 i) e- [5 [; U
- @old_sp = @battler.sp
% |- e2 Y h- c1 a - @old_hp = @battler.hp
* T4 m4 U, d$ P( m ` - hp_flow_update
. {, a; V$ V6 B; ?, H - sp_flow_update A4 R4 v0 O" z
- hud_pos_update
3 O$ o4 c: L" \0 U% l - visible_update
2 A2 e7 l; }" n. ]: K; x' k. t- | - end, F8 }9 ^ z8 h3 u0 e7 x6 d
- #--------------------------------------------------------------------------
9 y" x' c9 r& x' {' T - # * Dispose4 m, q' f8 O" w& u H7 @7 o, s6 V: {; s
- #--------------------------------------------------------------------------
- ?3 k. l; v) x1 q6 z - def dispose
! H) Z* i( T) J' _' L - #HP Meter Dispose/ m) S5 S, U; ]6 L
- @hp_sprite.bitmap.dispose6 q$ O" V6 K7 ]3 R, _+ g1 f" N! U+ s
- @hp_sprite.dispose
3 G* b% W4 a& r0 N% A4 Y - @hp_bitmap.dispose! L/ H/ }: K: b* l, u' m" F3 C/ ?
- #HP Border Dispose* P3 }; ~; K7 R
- @layout_sprite.bitmap.dispose7 \/ p% G( P' [ X% A$ A
- @layout_sprite.dispose
/ E4 G. I ~/ r7 U, _% Y - @layout_bitmap.dispose
( |+ z. Q' J3 W+ }4 D/ ~ - #SP Meter Dispose! a, o) |, N$ ]" H; A! E
- @sp_sprite.bitmap.dispose
S; ~& ^) T+ S& \ - @sp_sprite.dispose
! d- H8 H2 m) ?. c, ]- r5 ~3 I - @sp_bitmap.dispose
0 J3 p% @3 l9 L) {, v e) ^ - #SP Border Dispose# t7 f* b) A8 m6 M4 |/ Q
- @layout2_sprite.bitmap.dispose3 w" I) X/ V) i. [& m* J
- @layout2_sprite.dispose
+ G+ j |* r: a: Z# s - @layout2_bitmap.dispose4 `- K! o- L) y' V) Q
- end
; s9 w- g T$ k$ ~8 D% v" E+ z3 { - #--------------------------------------------------------------------------
3 C) p% o2 U+ Z6 {, ^ - # * Update
* p7 t' N5 v3 j0 ] g - #--------------------------------------------------------------------------
8 {; I+ G2 ]6 |7 q: V - def update$ T0 A. T0 X8 m5 N5 \% H
- @battler = @enemy.battler
6 z4 n& j% o8 I$ ~ - return dispose if @enemy.dead? or $game_map.events.values[@enemy.id].nil?. x! \/ m6 {- [- ~
- if self.visible
1 M) `% \0 F: E" ^: n6 C( f - refresh5 @7 k1 }" f: ^$ V& i
- else
G2 ?7 m/ a% k; J8 d* e - self.bitmap.clear1 e0 _1 s: j0 b6 F8 X; c$ @! _7 A3 c
- end n9 _- X& I2 T% L5 I
- end
7 |9 Y3 }, `! z - #--------------------------------------------------------------------------
" b% C/ ? N* e2 N: z1 ~ - # * Visible Update8 F7 @9 O! k7 ^0 ^$ V. ^: V
- #--------------------------------------------------------------------------
6 E, J$ v! E0 K5 J2 m - def visible_update
* B3 w3 j' V7 y; T - if $game_switches[MOG::DISABLE_SHUD_SWITCH] == true& J* C2 k; k1 |: D6 i6 ?' o
- @hp_sprite.visible = false
q8 P$ v1 p0 z- h# y - @layout_sprite.visible = false/ a5 a5 r' R: A0 I* h/ K |
- @sp_sprite.visible = false: n2 J, p0 L& ]: U
- @layout2_sprite.visible = false8 ?3 F! V8 L: g+ e3 @1 D% y
- else
& _3 ]) Z* ^ ]0 ^0 ?' Y - if HP_HUD == true+ N: v! P0 B: C
- @hp_sprite.visible = true0 n; x9 e- J) i) \6 d" K% j! u) Z
- @layout_sprite.visible = true( D" f' q9 X: |
- else
! w8 D3 D& K7 g. j- t+ k2 T - @hp_sprite.visible = false
; x2 t5 r8 e8 v5 E( d) [& y( M' E4 |% K - @layout_sprite.visible = false
* d, Y; ~3 }+ s& J - end
5 W: Y' P6 C3 b0 w# U" g) w- l( D - if SP_HUD == true# a. T( E0 b. `' g7 _$ P7 Y
- @sp_sprite.visible = true; g0 y9 H7 H/ N5 P) S7 r6 u# ]3 d
- @layout2_sprite.visible = true" G( J7 a8 q8 s/ x3 H
- else
2 Q% b- Q$ T) K) A6 D9 s - @sp_sprite.visible = false# e" ]9 r4 [- S; F8 o/ }% P: J
- @layout2_sprite.visible = false# E$ ?$ h) v3 M) L
- end 1 e- e5 F" t4 z9 P2 S _
- end ! ]* J! H6 I3 w% l. I" v
- end
$ V; H) J3 _1 P5 q6 q/ f - #--------------------------------------------------------------------------
# T7 I6 L4 z/ w6 m+ c: G0 ?6 f: K - # * Hud Pos Update
6 U0 n, T, H2 j, c - #--------------------------------------------------------------------------' _1 a& Z7 |# p* E
- def hud_pos_update& Y+ _+ g" O* c
- @hp_sprite.x = self.x - @hp_width2 + S_HP_METER_X) Q( \7 h. Q2 m9 Z& h' A) b3 b
- @hp_sprite.y = self.y + S_HP_METER_Y
& D# v" m6 Y J. \" d7 g - @layout_sprite.x = self.x - @hp_width2 + S_BORDER_HP_METER_X
2 r! ^8 u2 D- L3 a/ `8 \ r - @layout_sprite.y = self.y + S_BORDER_HP_METER_Y
2 c( T7 a5 b. N+ s/ v# b# K - @sp_sprite.x = self.x - @sp_width2 + S_SP_METER_X e# X4 B, i7 E
- @sp_sprite.y = self.y + S_SP_METER_Y , @3 s C- I8 y3 D; x. p7 l
- @layout2_sprite.x = self.x - @sp_width2 + S_BORDER_SP_METER_X
2 g( y1 b' F# B8 A3 ^. M - @layout2_sprite.y = self.y + S_BORDER_SP_METER_Y
+ l5 _ G) k3 i {7 G' y - end
3 i5 W& H \1 Y5 J* h. \) j - #--------------------------------------------------------------------------% } g1 i1 Y% c5 P7 [
- # * Hp Flow Update
' R* V$ S2 L8 z; w+ m/ ~2 G - #--------------------------------------------------------------------------9 |- N, K2 o# @' b* Y5 Z
- def hp_flow_update% L! v* r- C, e9 \
- @hp_sprite.bitmap.clear; `. X, f2 ?. r- M
- @hp_width = @hp_range * @battler.hp / @battler.maxhp 6 }; o' ?+ g3 V3 G3 |) P9 X
- #HP Damage---------------------------------' G$ H! m) G/ R4 C L q& N( e
- valor = (@hp_width_old - @hp_width) * 3 / 1006 \9 K; j, f8 u; V/ q
- valor = 0.5 if valor < 1 ) }8 V8 U# k! Y! J
- if @hp_width_old != @hp_width
& z7 _) G/ H* }0 ?7 `% n - @hp_width_old -= valor if @hp_width_old > @hp_width 7 ^$ @/ \& Z1 j$ D/ I. b
- if @hp_width_old < @hp_width 0 L D2 {* O$ I9 y4 r1 I
- @hp_width_old = @hp_width
7 {' B# q& G, R% b6 p1 R* k - end u& R# |# ~$ E/ q+ h$ F! L$ g. ?
- @hp_src_rect_old = Rect.new(@hp_flow, @hp_height,@hp_width_old, @hp_height)
) i5 s' x7 i9 W* i( @: O& n - @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect_old)
2 U# h; W0 `5 g" {4 @. J! ]! A - end
/ x9 `: Q$ @0 X+ l; `5 Q$ @7 f - #HP Real------------------------------------- O1 \) t" G- X) G/ j
- @hp_src_rect = Rect.new(@hp_flow, 0,@hp_width, @hp_height)
# X; H, m, f8 l; \. V, ` - @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect) 1 d$ N$ Q8 [7 \9 M" J, Z
- @hp_flow += 2 5 ~' ]; q+ {' S( q" i2 i
- if @hp_flow >= @hp_image.width - @hp_range$ W& ~9 c V' L$ |
- @hp_flow = 0
0 I U8 H0 j, _* t - end
- j( o! i9 s5 ~% A, K+ A( }+ g% r - end 5 |( I% i0 Q! Z# f* G$ }
- #--------------------------------------------------------------------------
6 Z' P: z$ x5 k# r - # * Sp Flow Update
7 `9 I6 l1 Z/ D0 L- ^' a9 U7 _' c* N - #-------------------------------------------------------------------------- A0 P. s2 ?5 Q8 \! e9 _
- def sp_flow_update
3 @9 _! q0 g, B - @sp_sprite.bitmap.clear+ l0 E0 i- F w' Y* X9 w3 l7 s9 P
- @sp_width = @sp_range * @battler.sp / @battler.maxsp
& U$ |% H9 z- n5 R: q- ] - #SP Damage---------------------------------
/ e5 C% `- m% g$ K - if @sp_width_old != @sp_width
$ w, B* i5 a# }% @1 n- H W - valor = (@sp_width_old - @sp_width) * 3 / 100
7 u- @# |* J0 z - valor = 0.5 if valor < 1 3 J( F2 U( [; J8 W& z8 @
- @sp_width_old -= valor if @sp_width_old > @sp_width $ `6 z3 k3 \' z- a6 r+ F! ^( z
- if @sp_width_old < @sp_width 4 }9 f# l6 G! w- `7 x8 s# F
- @sp_width_old = @sp_width
: r, F2 b. z) w$ E- p# ~1 @) v - end
9 [4 t! }, f6 ~5 r: ] - @sp_src_rect_old = Rect.new(@sp_flow, @sp_height,@sp_width_old, @sp_height)/ p. w% V2 ~! E0 e
- @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect_old) % B# Z! d% F3 o) |2 `
- end0 u% |! P/ q- w- |0 Z$ |& }1 N
- #SP Real------------------------------------/ v( Z! E) G6 F' I" M7 v5 D
- @sp_src_rect = Rect.new(@sp_flow, 0,@sp_width, @sp_height), L* Y7 x, f+ r6 B/ j# d0 m8 J% w. m
- @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect). W- N$ Y' Q2 B- T
- @sp_flow += 1 $ A; L D; c4 u; j' n* ?3 a. W
- if @sp_flow >= @sp_image.width - @sp_range8 A! a3 ?* P/ U6 p; b& x& l
- @sp_flow = 0
, v; S: _; G! s' { - end8 O/ G7 y" t- [" i0 Q
- end : u5 n0 i$ ]" H& q' H: @
- end
! E+ ~# a$ L6 `/ w: ?% { - #===============================================================================: \0 R+ t3 J3 ^) J U
- class Sprite_Character < RPG::Sprite S. f0 ~, _' K3 E) x
- #-------------------------------------------------------------------------------* x5 K) D9 r0 e4 t+ u5 b3 C
- alias :xas_emini_hud_init :initialize3 p' e! b; f7 b4 I3 u/ Z
- include MOG. V. x5 H1 r' c2 A! z) p" y
- def initialize(viewport, character). o% v: {/ ~4 g
- xas_emini_hud_init(viewport, character)
( t5 s8 r% X+ B8 n6 m$ z4 \6 \ - @viewport = viewport& R0 ?8 {- Y* |/ p& a a" d
- return if @character.battler.nil?
- R/ ] x* o) [5 g. k- y - return if XAS_BA_ENEMY::ENEMY_OBJECT.include?(@character.battler.id)
+ `5 C8 z) [6 A% z* S1 t - return if XAS_BA_ENEMY::ITEM_ENEMY.include?(@character.battler.id)
3 c* h$ Q: b, `" A- r) C - return if @character.battler.is_a?(Game_Actor). E* Y$ l7 h8 L: |) j
- @bars = S_Hud.new(@character, @viewport)2 ?8 V2 c i- p1 e( T
- end
- B+ w7 f) [8 U; A% f8 p5 e - #-------------------------------------------------------------------------------9 q3 D' B. [; \
- alias :xas_emini_hud_up :update$ w( {" H6 M4 `+ I& B. Q2 Z
- def update' J+ k: `- M: q! ?9 z
- xas_emini_hud_up& k( |7 _1 n4 M+ V$ c, B. I) v2 J2 [
- return if @bars.nil?. r* X8 w/ `" Q% s/ W, k/ p
- return if @bars.disposed?
$ g$ b! n" x) _% \ - dis = ($game_player.x - @character.x).abs + ($game_player.y - @character.y).abs
) D+ g) }, d% [' r5 ~) w* @ - @bars.visible = (dis <= RANGE)
% K! @! x/ m+ ] - if @bars.visible M& b, Y2 `& A7 g) J* y
- @bars.x = @character.screen_x# - @cw / 4
! _7 D5 Y; l: l - @bars.y = @character.screen_y# - @ch / 4
6 X7 R; ]8 U/ F/ g7 D - end
9 N/ ~; h" y( j! _; n - @bars.update' ?' d6 }3 F& \+ Q4 m5 j' }1 d7 T
- end) C* B3 s0 Y0 A6 ?$ t0 c, N/ k6 t
- #-------------------------------------------------------------------------------
% k7 ?& J/ T+ B7 { - def dispose
; o, i$ _. J( j( O0 g7 K8 z) y - super! Y( `3 _6 q) q# f) a7 P9 b' }2 c
- @bars.dispose if [email protected]?
3 `' R% t, _, j8 P - end6 @0 S9 B- s$ N% p
- end
i8 p5 n- [( v+ l- `1 \9 A - 2 X8 t: C @1 L( y2 ?$ s+ p
- $mog_rgss_s_hud = true
复制代码
% S$ g0 I& S; Q% N1 ]1 A7 X) \
; Z5 S. V' T0 w
2 J* O: p2 i7 p" a% R9 C上面所說出錯的203行內容為
; Q' l9 f/ `, j& j w@hp_sprite.bitmap.clear. D! G9 E; {9 Z! R+ w- }
9 J: @# O, j, _! ?& i# O$ C
想知道怎麼解決* d$ T; o: D9 y3 |0 m
# `4 G2 l& T; G9 E7 j7 r該腳本支持3.82
& a* e+ {4 g" T0 o# T$ q
# V* _9 b; s0 v1 K/ b! p$ k下面是圖檔,要塞在Windowskin下
8 v, G6 A0 Y( Y! M2 x; o- d; w5 u, _, Y/ c0 n r8 Q
S_HUD_Graphic.rar
(12.36 KB, 下载次数: 49)
& B8 }' r3 H4 X9 j. Q0 F7 _% z
3 A8 \/ ?% L! g. _, ?5 `2 D
7 J, X- ?+ R+ y3 E, C+ b6 X( e" ]
' K+ ]/ V! s& x5 i0 l0 N+ ` |
|