Spriteset_Battle

Publié le par chindan

#============================================
# ¡ Spriteset_Battle
#----------------------------------------------
# @ƒoƒgƒ‹‰æ–ʂ̃Xƒvƒ‰ƒCƒg‚ð‚܂Ƃ߂½ƒNƒ‰ƒX‚Å‚·B‚±‚̃Nƒ‰ƒX‚Í Scene_Battle ƒNƒ‰
# ƒX‚Ì“à•”‚Ŏg—p‚³‚ê‚Ü‚·B
#============================================

class Spriteset_Battle
#------------------------------------------
# œ ŒöŠJƒCƒ“ƒXƒ^ƒ“ƒX•ϐ”
#------------------------------------------
attr_reader :viewport1 # ƒGƒlƒ~[‘¤‚̃rƒ…[ƒ|[ƒg
attr_reader :viewport2 # ƒAƒNƒ^[‘¤‚̃rƒ…[ƒ|[ƒg
#------------------------------------------
# œ ƒIƒuƒWƒFƒNƒg‰Šú‰»
#------------------------------------------
def initialize
# ƒrƒ…[ƒ|[ƒg‚ðì¬
@viewport1 = Viewport.new(0, 0, 640, 320)
@viewport2 = Viewport.new(0, 0, 640, 480)
@viewport3 = Viewport.new(0, 0, 640, 480)
@viewport4 = Viewport.new(0, 0, 640, 480)
@viewport2.z = 101
@viewport3.z = 200
@viewport4.z = 5000
# ƒoƒgƒ‹ƒoƒbƒNƒXƒvƒ‰ƒCƒg‚ðì¬
@battleback_sprite = Sprite.new(@viewport1)
# ƒGƒlƒ~[ƒXƒvƒ‰ƒCƒg‚ðì¬
@enemy_sprites = []
for enemy in $game_troop.enemies.reverse
@enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
end
# ƒAƒNƒ^[ƒXƒvƒ‰ƒCƒg‚ðì¬
@actor_sprites = []
@actor_sprites.push(Sprite_Battler.new(@viewport2))
@actor_sprites.push(Sprite_Battler.new(@viewport2))
@actor_sprites.push(Sprite_Battler.new(@viewport2))
@actor_sprites.push(Sprite_Battler.new(@viewport2))
# “VŒó‚ðì¬
@weather = RPG::Weather.new(@viewport1)
# ƒsƒNƒ`ƒƒƒXƒvƒ‰ƒCƒg‚ðì¬
@picture_sprites = []
for i in 51..100
@picture_sprites.push(Sprite_Picture.new(@viewport3,
$game_screen.pictures[i]))
end
# ƒ^ƒCƒ}[ƒXƒvƒ‰ƒCƒg‚ðì¬
@timer_sprite = Sprite_Timer.new
# ƒtƒŒ[ƒ€XV
update
end
#------------------------------------------
# œ ‰ð•ú
#------------------------------------------
def dispose
# ƒoƒgƒ‹ƒoƒbƒNƒrƒbƒgƒ}ƒbƒv‚ª‘¶Ý‚µ‚Ä‚¢‚½‚ç‰ð•ú
if @battleback_sprite.bitmap != nil
@battleback_sprite.bitmap.dispose
end
# ƒoƒgƒ‹ƒoƒbƒNƒXƒvƒ‰ƒCƒg‚ð‰ð•ú
@battleback_sprite.dispose
# ƒGƒlƒ~[ƒXƒvƒ‰ƒCƒgAƒAƒNƒ^[ƒXƒvƒ‰ƒCƒg‚ð‰ð•ú
for sprite in @enemy_sprites + @actor_sprites
sprite.dispose
end
# “VŒó‚ð‰ð•ú
@weather.dispose
# ƒsƒNƒ`ƒƒƒXƒvƒ‰ƒCƒg‚ð‰ð•ú
for sprite in @picture_sprites
sprite.dispose
end
# ƒ^ƒCƒ}[ƒXƒvƒ‰ƒCƒg‚ð‰ð•ú
@timer_sprite.dispose
# ƒrƒ…[ƒ|[ƒg‚ð‰ð•ú
@viewport1.dispose
@viewport2.dispose
@viewport3.dispose
@viewport4.dispose
end
#------------------------------------------
# œ ƒGƒtƒFƒNƒg•ަ’†”»’è
#------------------------------------------
def effect?
# ƒGƒtƒFƒNƒg‚ªˆê‚Â‚Å‚à•Ž¦’†‚È‚ç true ‚ð•Ô‚·
for sprite in @enemy_sprites + @actor_sprites
return true if sprite.effect?
end
return false
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV
#------------------------------------------
def update
# ƒAƒNƒ^[ƒXƒvƒ‰ƒCƒg‚Ì“à—e‚ðXV (ƒAƒNƒ^[‚Ì“ü‚ê‘Ö‚¦‚ɑΉž)
@actor_sprites[0].battler = $game_party.actors[0]
@actor_sprites[1].battler = $game_party.actors[1]
@actor_sprites[2].battler = $game_party.actors[2]
@actor_sprites[3].battler = $game_party.actors[3]
# ƒoƒgƒ‹ƒoƒbƒN‚̃tƒ@ƒCƒ‹–¼‚ªŒ»Ý‚Ì‚à‚̂ƈႤê‡
if @battleback_name != $game_temp.battleback_name
@battleback_name = $game_temp.battleback_name
if @battleback_sprite.bitmap != nil
@battleback_sprite.bitmap.dispose
end
@battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
@battleback_sprite.src_rect.set(0, 0, 640, 320)
end
# ƒoƒgƒ‰[ƒXƒvƒ‰ƒCƒg‚ðXV
for sprite in @enemy_sprites + @actor_sprites
sprite.update
end
# “VŒóƒOƒ‰ƒtƒBƒbƒN‚ðXV
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.update
# ƒsƒNƒ`ƒƒƒXƒvƒ‰ƒCƒg‚ðXV
for sprite in @picture_sprites
sprite.update
end
# ƒ^ƒCƒ}[ƒXƒvƒ‰ƒCƒg‚ðXV
@timer_sprite.update
# ‰æ–ʂ̐F’²‚ƃVƒFƒCƒNˆÊ’u‚ðÝ’è
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
# ‰æ–ʂ̃tƒ‰ƒbƒVƒ…F‚ðÝ’è
@viewport4.color = $game_screen.flash_color
# ƒrƒ…[ƒ|[ƒg‚ðXV
@viewport1.update
@viewport2.update
@viewport4.update
end
end
Publicité

Publié dans poubelle

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article