| 赞 | 0 |
| VIP | 0 |
| 好人卡 | 2 |
| 积分 | 7 |
| 经验 | 31761 |
| 最后登录 | 2026-2-12 |
| 在线时间 | 1808 小时 |
- 梦石
- 0
- 星屑
- 687
- 在线时间
- 1808 小时
- 注册时间
- 2009-7-12
- 帖子
- 443
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
這是我將官網的S_HUD修該而成的怪物血條% O4 M$ \1 Z! j3 K4 M; j
會在每隻事件怪物的腳下顯示
# r. U% q& L& i5 e問題是不知道為什麼
* v5 f. t/ B/ ?- [ v有時打怪打一打會跳出
/ O* P0 h$ Z. X: O( l: j! H% I: v---------------------------
' @, a) @% M. c& _8 {XAS, D E( P2 Q# [0 s# Z
---------------------------5 @! }0 g, p! z9 B1 \' h( t8 Q2 y
脚本 'MOG - S HUD' 的 203 行 发生了 RGSSError。
9 R, E: f. y7 D) @5 Y2 _* e6 a) J1 ~$ n
disposed bitmap8 D; G. {1 P& a6 A) `/ C5 C2 b
---------------------------( _9 }( {* Q2 ^9 x
確定
4 i$ v% V7 c' R# U: x6 f---------------------------. `0 A4 l/ [$ D Q l
- D9 a, A: P$ v; H這是腳本. q9 Y6 C! D% b7 z- x: P
. A: I+ ?+ _7 ?& T
- #===============================================================================' f" f% g9 I1 I% @- M/ O2 s+ v
- # MOG - s Hud 1.0
9 F7 ^1 [# S t( K" | - #===============================================================================
) x4 [' t+ y2 t* V; X; Z) W0 p" W - # By Moghunter
$ u- p+ Z) `: E9 J - # http://www.atelier-rgss.com3 j5 B$ ~4 s6 A ~7 t0 F9 _
- #===============================================================================
# N) I9 q7 d) F( I - # Translated by Calvin624 ! K, ?5 Z, m8 Y8 v/ o6 _: P8 E1 _9 t5 W
- # http://www.xasabs.wordpress.com1 }% h8 p% o. `) N8 N" V7 V) r
- #===============================================================================
A4 @- B X7 e2 U& k3 j z - ###############################-DESCRIPTION-####################################
`- h& Y+ v$ _" Z7 B - #===============================================================================' B! A* u8 f0 v
- # Personal HUD – displays the HP and SP below the hero.) m' o+ w/ L8 b `- B* C% c2 q9 ~
- #===============================================================================/ q! S1 Q: u$ t2 O
- #2 a! ^2 {; t& t; \. g
- # Graphics required:
- [4 ]. D3 C4 N$ G3 K0 L- ? - #
1 D( W" M- g I! ~) X - # S_Border_HP_Meter.png
- ^* E) p$ u- C, _- A9 r - # S_Border_SP_Meter.png
: S2 U1 c0 u& c0 P- E" G. I3 x# s - # S_HP_Meter.png
4 O! d+ O* G3 j2 A& }, q - # S_SP_Meter.png
/ k$ C: w- |7 ^; a - #
" o2 V8 b1 i, q3 J1 A% [) D - # All images must be in the Windowskin folder.6 {( N8 W6 N# ~' O, g# Y
- #& F5 k# ]' t6 X) K% [
- #===============================================================================. Z5 W( i4 d4 m* V' J
- module MOG
8 T/ B% [7 G0 d - VISIBLE_DEF = false
/ ^# P6 U# I# e! K% p; E6 P( b - # Show HP meter?
0 t0 C/ E" g% H/ I3 G$ g - HP_HUD = true" d% c# q3 d6 j3 T6 o
- # Position of the HP border
3 \& w/ x: S. p7 f/ a- ^ - S_BORDER_HP_METER_X = -27 W( H" t [( e- ^
- S_BORDER_HP_METER_Y = -2 ; }0 J/ \% v# P# f
- # Position of the HP meter
/ s0 U; R* O$ Z- C" ?. Y# k; | - S_HP_METER_X = 0: R* k+ x, O" U9 B% K
- S_HP_METER_Y = 0
; `! @5 V6 k$ g+ ^4 b% ^& a: }% [ - # Show SP meter?
+ V1 A- S* K: p9 ?6 s3 i7 ~* n2 q - SP_HUD = true
0 u7 D6 \* h- K' w w. T# t5 Z8 V6 Z - # Position of the SP border" K4 G; C8 Q }4 {# l* y% ~+ u
- S_BORDER_SP_METER_X = 0 G. Y; G( p7 x/ ?/ B
- S_BORDER_SP_METER_Y = 10 / E# J: e# v% @" u+ k# M2 w- f6 E
- # Position of the SP meter+ s( j0 T/ B$ A' X
- S_SP_METER_X = 0
( E! k; T: C5 h3 h9 U2 t - S_SP_METER_Y = 10/ x- j; Z! j4 N. L/ ^6 B8 j& \
- # Switch to disable the HUD
3 n4 h( V" O1 p/ M! F - DISABLE_SHUD_SWITCH = 5
4 ?# ?: t/ ~) {4 t# Y0 V. ]5 U - RANGE = 20
7 @' W- z6 j5 O( e2 |/ `0 m - end
+ B' H1 I' ]. M5 B - #===============================================================================: t0 a& f( Q7 ~# a0 _% ], U7 H$ h
- # S Hud1 \! s7 T2 T* J: h( W" b; d/ \
- #===============================================================================. Z G9 ~. X% u. R
- class S_Hud < RPG::Sprite
6 N# A2 ], T9 G, y- w& K( s' r9 Q - include MOG
" ^- A) m; f; Y h# N* z3 z - #--------------------------------------------------------------------------, ~7 S9 l$ g. J h2 ^$ l
- # * Initialize
/ z! G/ ^4 Y, f0 H" g - #--------------------------------------------------------------------------. h! _* c2 O8 x# T
- def initialize(enemy,viewport)2 i4 k7 q6 o7 G: @: R) J6 i
- super(viewport) 6 R8 _% h" v1 _' X% V! s+ b
- @enemy = enemy# m; \! v0 r3 U1 p& F9 I
- @battler = @enemy.battler$ d0 S1 @' ^5 B/ \9 Z( V9 a
- @old_hp = 0
6 P0 E2 W0 O$ R& _5 t- I, S, g - @old_sp = 0
! Y6 G0 \* @! _" Z3 `$ Z& Q$ ` - @old_vis = false% J0 l# V0 ?& T6 O1 M/ K! H5 t
- self.bitmap = Bitmap.new(100, 100)7 _9 V5 H4 I6 a0 O
- self.visible = (VISIBLE_DEF)#false
4 i* q& T# o& i2 z2 `$ p - self.z = 100
' Q$ g9 h+ r7 j3 a9 H1 M - #HP Border -------------------------------------------------------------------( ], s) c( G2 o7 I) C+ x
- @layout_image = RPG::Cache.windowskin("S_Border_HP_Meter")
/ b, {0 ~, [; B4 v. s% e) a - @layout_bitmap = Bitmap.new(@layout_image.width,@layout_image.height)
' g: k' [7 S4 N: O2 z, W3 {6 t- O) N - @layout_sprite = Sprite.new, [: S4 S) a. J2 \; I, m
- @layout_sprite.bitmap = @layout_bitmap
, r/ J. m; Q2 v f& W$ E, o( _ - @layout_src_rect_back = Rect.new(0, 0,@layout_image.width, @layout_image.height). T0 F5 t* E+ K) {/ t' C6 |
- @layout_bitmap.blt(0,0, @layout_image, @layout_src_rect_back) 7 I- |7 ?5 W+ d7 B8 J& W9 w
- @layout_sprite.z = 5001
. G3 c( Z; K" O. h _1 e& a - #HP Meter ---------------------------------------------------
& j. k: v" }3 p) l3 q0 `$ |( L- s& O0 V - @hp_flow = 0
6 H8 b @6 Z( e% m" r" t( W' u - @hp_damage_flow = 0
" J/ C, R8 [& F# y' m+ H - @hp_image = RPG::Cache.windowskin("S_HP_Meter")
; b4 P& W5 z. l* B8 F5 Y - @hp_bitmap = Bitmap.new(@hp_image.width,@hp_image.height)
v' o" |' l5 _& W. N1 m+ G - @hp_range = @hp_image.width / 33 \* R F0 c" a1 R; J" [0 l% _
- @hp_width = @hp_range * @battler.hp / @battler.maxhp
% s5 z% N4 r: D0 R, H - @hp_width2 = @hp_range / 2- Q" Q% G4 {' b* x
- @hp_height = @hp_image.height / 2! q6 C' b/ t' ~* {
- @hp_width_old = @hp_width
$ K1 R5 n! l" O3 B( x2 I - @hp_src_rect = Rect.new(@hp_range, 0, @hp_width, @hp_height)
$ J% h: d8 O, P5 I t& ]0 P - @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect)
- b( l) B3 }; Y - @hp_sprite = Sprite.new
0 t& [& o7 b- q - @hp_sprite.bitmap = @hp_bitmap
& m0 B, A% I; ?/ s - @hp_sprite.z = 5002, {5 z# T" `; `8 B, A' A& E2 z
- #SP Border -------------------------------------------------------------------
9 \3 g( p- K7 g. v0 p6 u - @layout2_image = RPG::Cache.windowskin("S_Border_SP_Meter") m4 W1 F; X/ N) Y x& A
- @layout2_bitmap = Bitmap.new(@layout2_image.width,@layout2_image.height)# u# ?8 s, u* `) H& u
- @layout2_sprite = Sprite.new
0 m3 _0 D0 q4 U$ b - @layout2_sprite.bitmap = @layout2_bitmap+ ]2 `: e- u3 u o7 p
- @layout2_src_rect_back = Rect.new(0, 0,@layout2_image.width, @layout2_image.height); q& |* c2 J9 R1 j3 j* {1 e& B+ X
- @layout2_bitmap.blt(0,0, @layout2_image, @layout2_src_rect_back) 7 X$ T, _0 @1 I) {/ l" j1 j
- @layout2_sprite.z = 5001
- U6 J$ H2 b" @3 u3 Y* D' y - #SP Meter ------------------------------------------------------% p6 A) c z( x0 c9 h$ `
- @sp_flow = 0
) \/ s: M4 n( W' R. U - @sp_damage_flow = 0* ?; P8 U- D5 h. K2 w' Z9 s
- @sp_image = RPG::Cache.windowskin("S_SP_Meter")9 w( J a$ K0 ]) E0 y
- @sp_bitmap = Bitmap.new(@sp_image.width,@sp_image.height)3 Z$ z" C$ x) Z1 r, x
- @sp_range = @sp_image.width / 3
8 D7 k1 B0 A* p# i! X( ?1 q9 _, t - @sp_width = @sp_range * @battler.sp / @battler.maxsp ) _3 O4 V* K! w u+ X- j/ G7 T% Q
- @sp_width2 = @sp_range / 2
9 I1 K1 e6 Y) v$ x: z0 d - @sp_height = @sp_image.height / 2* U8 k; R S/ ^8 }# ]" o
- @sp_width_old = @sp_width
( `7 e$ [8 [. j, _; t - @sp_src_rect = Rect.new(@sp_range, 0, @sp_width, @sp_height)
) J$ h6 N7 [$ a4 `( J% X. Y" e" A - @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect)
9 M# s% U- C7 W) a2 G; l7 [% V - @sp_sprite = Sprite.new/ ]/ T1 u' g q3 o6 L: w: m/ ~1 @
- @sp_sprite.bitmap = @sp_bitmap
$ ]& Q% _0 T% @7 I' H" I- _ - @sp_sprite.z = 50022 B9 _7 R0 R+ s7 \# y; t
- update
* f+ r9 i0 [; U9 I. P* G% S: H - end& v# e8 X! m% S( E2 Y- U1 C* ~
- #--------------------------------------------------------------------------$ N* O0 ~% B: g( R# o
- # * Refresh
/ S/ Q0 G% M' F' \9 D% p) l% y( E - #--------------------------------------------------------------------------
/ R+ V3 c; o+ B+ a5 O - def refresh; ~0 [* g% Y1 ?- l& W- {
- return if @old_hp == @battler.hp and @old_vis != self.visible% e. s2 P7 O6 k/ b: {; n+ D! Z1 q
- self.bitmap.clear
7 ^1 p" x' K) J - @old_vis = self.visible! ?! J7 J6 N: m& v
- @old_sp = @battler.sp0 X! k, F1 J# Q! W; X4 |
- @old_hp = @battler.hp7 Z! t' k. ]; A" d# w# Y
- hp_flow_update
K5 ~2 a. m! ^7 u - sp_flow_update+ K3 D. T9 Y* B' z
- hud_pos_update3 @! r( C! z# H/ O9 L5 R5 o' M
- visible_update1 K3 }, ?/ b; L7 d
- end* n1 Y4 B) A/ Q4 u. A
- #--------------------------------------------------------------------------/ k' ^: \8 A3 [$ ^! R" P: U1 m, r
- # * Dispose1 i6 O4 B# ^* y& l5 C+ x' J: k2 M. A
- #--------------------------------------------------------------------------% E; ?+ P$ z6 J! [' M
- def dispose2 N! `& T+ k, q& D' O
- #HP Meter Dispose% n4 U: J1 C3 a" J% u
- @hp_sprite.bitmap.dispose3 X( J, e* X' T2 k. p0 y
- @hp_sprite.dispose
+ A* [; j( ?8 T$ a9 J - @hp_bitmap.dispose
1 ~+ \5 L: l* F- @1 {2 K" |2 A - #HP Border Dispose
8 ?& X& `- _ V6 g! s% B u. w, X5 z - @layout_sprite.bitmap.dispose3 h3 i5 p" m, s9 ]
- @layout_sprite.dispose
; Z( ?9 X1 T% X/ T5 }" M: N" [ - @layout_bitmap.dispose, c2 t. C+ X. J
- #SP Meter Dispose
" z& V) j( a8 @7 Y5 T' V7 W7 R - @sp_sprite.bitmap.dispose' r7 C4 q- o+ k5 @
- @sp_sprite.dispose
* Y+ `: W }; _8 C; a' b - @sp_bitmap.dispose3 r/ ~! N$ d! s" `, k# N
- #SP Border Dispose
+ G/ ^ p5 D5 M: O# Q2 w - @layout2_sprite.bitmap.dispose
9 }5 o3 L0 Y' M) c! n5 [& N - @layout2_sprite.dispose8 Z4 B+ \) z2 o3 e4 g
- @layout2_bitmap.dispose) v" H% p0 O* k
- end# d8 ^5 t' t$ o: w% W( e
- #--------------------------------------------------------------------------
6 E$ `& d o" m5 ~3 | - # * Update( k6 ^; o$ {% N: I2 f o# G/ \& j
- #--------------------------------------------------------------------------& m2 ]1 Z7 n, M! Z! U( B6 l
- def update& N/ _- k! {, K
- @battler = @enemy.battler
) j% K2 O7 U- g5 B$ }/ h - return dispose if @enemy.dead? or $game_map.events.values[@enemy.id].nil?% h p: N3 i; `6 M
- if self.visible2 Z8 K7 T1 ?8 e4 n4 Q5 t& ~8 w
- refresh
. `+ W; p' E) d; S) f - else4 n: | H4 `) A5 q* j5 z" A
- self.bitmap.clear
. G; }. |+ J6 h" [' v - end
' i6 \6 {6 m! K( I# w. n; W - end1 j) h# N, [( K, {, [
- #--------------------------------------------------------------------------. k# c7 h1 D* Y& O
- # * Visible Update
" l1 P1 ]% a3 Z5 I - #--------------------------------------------------------------------------
7 {! z$ }6 t Y$ v$ d* @ - def visible_update" ?3 R" k3 W2 R0 N4 X {' R( `
- if $game_switches[MOG::DISABLE_SHUD_SWITCH] == true
$ Q& W7 v' i. S, M! v& |$ I - @hp_sprite.visible = false) L7 ?* M+ g; D, J7 A
- @layout_sprite.visible = false L {+ e! D G3 I( v) {, X# n$ H' K
- @sp_sprite.visible = false/ l4 a6 p u8 j. C
- @layout2_sprite.visible = false
+ D0 ] z3 D* }: i8 b - else' t. f/ f) `7 I7 L* e
- if HP_HUD == true
# C6 ?$ {! |8 m o9 k - @hp_sprite.visible = true
0 ?( x+ ~7 I" d' ~2 d - @layout_sprite.visible = true
. q, T, B% D3 g A9 ^ - else
( P$ w8 d3 s! s! w _9 F" {' S5 [+ [7 {3 I - @hp_sprite.visible = false
. c# d# ^+ B" E# }: e1 s$ P; C - @layout_sprite.visible = false
) j! K' T! D, L& N, y - end % g+ n/ s" Y2 f n/ z) E. o
- if SP_HUD == true
. d2 _& G! Z, w; V# r+ j( ` - @sp_sprite.visible = true2 j6 v5 ^9 |! r' v% T9 M* E z1 C& L
- @layout2_sprite.visible = true- L' U; W6 U/ K! l7 I1 A3 q
- else: W3 d/ m+ J/ K
- @sp_sprite.visible = false) s" ]0 @/ I. Q* L! I0 j+ y
- @layout2_sprite.visible = false
) z- E: I9 X% B& l8 W! y - end
, u" K- G1 O# O% G - end
( `9 F4 [9 F2 b- P( l3 W - end 8 z3 I$ ^1 j) d1 ?5 K6 J) M! U) l
- #--------------------------------------------------------------------------
! K) _) k% [: x6 W/ u - # * Hud Pos Update5 k! Q& P) {& g+ I8 _
- #--------------------------------------------------------------------------
" Z9 Y |* u- m$ C+ V8 c | - def hud_pos_update
8 p* G: g. V) x: F, f - @hp_sprite.x = self.x - @hp_width2 + S_HP_METER_X
9 {) r: @3 Q8 K1 Z0 c - @hp_sprite.y = self.y + S_HP_METER_Y " ^' x( c( j2 `: H) o9 a
- @layout_sprite.x = self.x - @hp_width2 + S_BORDER_HP_METER_X; Y5 Y4 G: f, Z$ y
- @layout_sprite.y = self.y + S_BORDER_HP_METER_Y
2 X7 I6 t2 y0 C/ S( L( P - @sp_sprite.x = self.x - @sp_width2 + S_SP_METER_X
7 o' W1 O( x- |& `. s: r - @sp_sprite.y = self.y + S_SP_METER_Y 3 S! _% w3 ^- Z
- @layout2_sprite.x = self.x - @sp_width2 + S_BORDER_SP_METER_X5 ]. [7 t& x6 @5 m$ }
- @layout2_sprite.y = self.y + S_BORDER_SP_METER_Y * z% D; Z& S9 R" x' m" ~# Z5 e
- end 3 A+ |! f7 K! N
- #--------------------------------------------------------------------------
, \) k# q5 q5 e - # * Hp Flow Update) P, m x/ O1 m. o4 _
- #--------------------------------------------------------------------------; W" C) y2 P1 \$ J
- def hp_flow_update
}- U" ]9 b \! `# b% x0 ] - @hp_sprite.bitmap.clear
& D8 V! o5 B5 u" L3 k - @hp_width = @hp_range * @battler.hp / @battler.maxhp : z" q/ y' {( F6 L C
- #HP Damage---------------------------------4 b9 p) _. X. |, c' [6 {) M
- valor = (@hp_width_old - @hp_width) * 3 / 100
8 s, V2 ^- j' X P4 M& m - valor = 0.5 if valor < 1
; X: \! c$ a+ Z7 B - if @hp_width_old != @hp_width
; p. \) d8 s; R0 N7 }8 `$ } - @hp_width_old -= valor if @hp_width_old > @hp_width
7 A" Q9 E, l+ G( C% Q3 } - if @hp_width_old < @hp_width 3 F- S; t. R! b: J. I6 P1 ?
- @hp_width_old = @hp_width
4 C0 Y$ |- i% q" ?- [; i - end ! O! |3 V) I8 o( J& P3 K, J
- @hp_src_rect_old = Rect.new(@hp_flow, @hp_height,@hp_width_old, @hp_height)* \; \" v2 X* O3 j( c" V4 P
- @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect_old) , V3 y. S% h" a. }
- end , [3 |- Q8 Q" f( U
- #HP Real------------------------------------8 O( B3 e4 n. p# _
- @hp_src_rect = Rect.new(@hp_flow, 0,@hp_width, @hp_height)- ?. C0 j w \
- @hp_bitmap.blt(0,0, @hp_image, @hp_src_rect) , }$ g6 r: s- I1 b
- @hp_flow += 2 1 p2 c# ]5 D$ I5 F' S1 b) R
- if @hp_flow >= @hp_image.width - @hp_range
, I! Y/ s' H7 l) j8 c4 V# J - @hp_flow = 0
2 ?( s* l5 z! E2 T$ ? - end
8 O5 {7 }+ j g. r. ^ - end ( ?+ u, Z& H6 S0 D- I ]8 L
- #--------------------------------------------------------------------------* `: Z; G2 d3 {- w" G& d; P5 k
- # * Sp Flow Update
! v5 s! f5 g3 o, @6 }! F - #--------------------------------------------------------------------------" }0 Z" F6 i; ^" D2 Q/ M
- def sp_flow_update
# R. v/ P. C1 ~ B- G! b - @sp_sprite.bitmap.clear9 M- J2 C- @& c( b- u0 A8 ^" G+ |7 {
- @sp_width = @sp_range * @battler.sp / @battler.maxsp " Y" B- w7 }- U( u( \9 r! S
- #SP Damage---------------------------------
2 I7 H- I0 t0 l6 x5 _; w - if @sp_width_old != @sp_width
- J0 w3 V0 p% L% i" W, C7 G) e - valor = (@sp_width_old - @sp_width) * 3 / 100* Z! C( k$ N- Y0 D V# [" U7 I
- valor = 0.5 if valor < 1
, T# B8 E: k3 F1 {/ a( D - @sp_width_old -= valor if @sp_width_old > @sp_width ' F8 M( ~3 [9 f1 p
- if @sp_width_old < @sp_width
9 }- @ k, V, l' |. M - @sp_width_old = @sp_width' j/ n" Y$ L$ W) ^: Z
- end
0 G5 w6 {) a9 y" j - @sp_src_rect_old = Rect.new(@sp_flow, @sp_height,@sp_width_old, @sp_height)2 _0 X: Z0 |7 Z; V
- @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect_old) * g2 @* B. F7 D
- end
: T1 N# J9 M/ N! j7 g5 G( I4 w1 ~ - #SP Real------------------------------------, P$ V1 t" v+ ]/ ?/ t; e
- @sp_src_rect = Rect.new(@sp_flow, 0,@sp_width, @sp_height)
/ n$ W+ `% Z( @ - @sp_bitmap.blt(0,0, @sp_image, @sp_src_rect)" s. Q1 ^0 O9 G8 X+ N9 y$ ?3 X- @
- @sp_flow += 1 * V. X$ w$ O3 f7 @! B6 ~
- if @sp_flow >= @sp_image.width - @sp_range8 d' A$ n2 _4 S" o1 w& r2 c# u
- @sp_flow = 0
8 P4 \5 t1 Q; i' l - end, Q+ a- G" l) ]( m+ n8 D
- end 5 x. v5 `7 x2 c& ~
- end. f6 O3 |8 ^0 m' n$ N, }7 X$ n
- #===============================================================================( H& I/ Y" {' N1 A
- class Sprite_Character < RPG::Sprite0 o2 b1 f& p( J! V) b( \
- #-------------------------------------------------------------------------------! d9 N' J. \+ p/ z" {% K
- alias :xas_emini_hud_init :initialize2 P$ c+ f. I9 `5 r/ R
- include MOG
3 @# ^# h/ _# M/ [' @ - def initialize(viewport, character)
4 v$ a0 X1 d! A* o& c - xas_emini_hud_init(viewport, character)
5 R+ s- e# `" j6 |! S( e5 h - @viewport = viewport, m+ |; m- U5 u" y/ Z( h/ h8 O/ K% f
- return if @character.battler.nil?
# P4 n- L& d1 a8 ?) j( F' p0 T - return if XAS_BA_ENEMY::ENEMY_OBJECT.include?(@character.battler.id)
4 Q5 X5 F' d$ o& W' e; H - return if XAS_BA_ENEMY::ITEM_ENEMY.include?(@character.battler.id) w8 V) y# W% ?
- return if @character.battler.is_a?(Game_Actor)
. v# U' F: y! o - @bars = S_Hud.new(@character, @viewport)8 j3 V8 W2 w ^
- end" c" k' n: |1 E6 u, d# \ z0 Z
- #-------------------------------------------------------------------------------
g8 @* g) N+ ^$ K8 H {) N - alias :xas_emini_hud_up :update3 j8 a1 T8 S4 @
- def update
0 ~" J6 g% e3 y - xas_emini_hud_up
" _/ L K0 C2 @) ~* v - return if @bars.nil?
$ b& k; ?' j: r( L6 f8 s6 ? - return if @bars.disposed?* w5 @ Z9 a6 P- D
- dis = ($game_player.x - @character.x).abs + ($game_player.y - @character.y).abs
. T/ _6 ?# A. Q' y- D5 I5 s - @bars.visible = (dis <= RANGE)
! U! E* S5 N/ T0 D: \, p - if @bars.visible- P! u3 A6 ]" L
- @bars.x = @character.screen_x# - @cw / 4+ Y8 { R) A8 ^6 b' l# Y) k5 w* n2 u
- @bars.y = @character.screen_y# - @ch / 4% }" \+ w0 G, F! l
- end8 V$ g5 X' N5 ^' s. E1 i6 ^- Q
- @bars.update
4 k" I2 M6 c+ I - end) Z, _4 }4 b9 A
- #-------------------------------------------------------------------------------
. _1 w/ L( e8 e+ m4 _ - def dispose
' x# |2 \( A. ] - super
# i% L4 |0 q8 N, v7 N1 a$ s0 m - @bars.dispose if [email protected]?' v0 c2 y$ P- r! \$ t# k
- end
' Y/ i3 {( d( F# V, K( a - end8 S2 k: Z! q1 J) B6 v T( Y9 H! t! A
- % C% U7 B) n8 l# N9 }% O
- $mog_rgss_s_hud = true
复制代码 ' T5 `" e0 P1 y t6 E7 X) ]
* x& o2 U- f# ]
6 I3 Z' v& N2 }
上面所說出錯的203行內容為
5 P1 h k, F) ~; d* V( {* z2 F@hp_sprite.bitmap.clear% L, W# H; W5 r+ [, z5 u! w
Y0 N& H$ H* U1 }
想知道怎麼解決: O3 t2 g4 r9 N7 I+ Y% t
6 V3 d0 p( h. o2 T: c) S C; j- s) ~該腳本支持3.82% J {) H ~; I; b8 v; p
2 Y! m" P n5 S4 Z {# ^# g下面是圖檔,要塞在Windowskin下5 ] @+ I8 _ n L5 q
" C# {; d @( B3 a) }7 K- Z
S_HUD_Graphic.rar
(12.36 KB, 下载次数: 49)
& Z) T4 e1 f6 M( n* | L
( a( T0 w9 p1 i" \- O* ]0 j( `6 ], w. ]9 J. N
2 t8 {" U P1 B0 Z4 r4 K7 y
|
|