battle-maiden-mizuki/Scripts/Sprite_Picture.rb
2025-06-17 11:57:06 -05:00

78 lines
2.9 KiB
Ruby
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#==============================================================================
# ■ Sprite_Picture
#------------------------------------------------------------------------------
#  ピクチャ表示用のスプライトです。Game_Picture クラスのインスタンスを監視し、
# スプライトの状態を自動的に変化させます。
#==============================================================================
class Sprite_Picture < Sprite
#--------------------------------------------------------------------------
# ● オブジェクト初期化
# picture : Game_Picture
#--------------------------------------------------------------------------
def initialize(viewport, picture)
super(viewport)
@picture = picture
update
end
#--------------------------------------------------------------------------
# ● 解放
#--------------------------------------------------------------------------
def dispose
bitmap.dispose if bitmap
super
end
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
super
update_bitmap
update_origin
update_position
update_zoom
update_other
end
#--------------------------------------------------------------------------
# ● 転送元ビットマップの更新
#--------------------------------------------------------------------------
def update_bitmap
self.bitmap = Cache.picture(@picture.name)
end
#--------------------------------------------------------------------------
# ● 原点の更新
#--------------------------------------------------------------------------
def update_origin
if @picture.origin == 0
self.ox = 0
self.oy = 0
else
self.ox = bitmap.width / 2
self.oy = bitmap.height / 2
end
end
#--------------------------------------------------------------------------
# ● 位置の更新
#--------------------------------------------------------------------------
def update_position
self.x = @picture.x
self.y = @picture.y
self.z = @picture.number
end
#--------------------------------------------------------------------------
# ● 拡大率の更新
#--------------------------------------------------------------------------
def update_zoom
self.zoom_x = @picture.zoom_x / 100.0
self.zoom_y = @picture.zoom_y / 100.0
end
#--------------------------------------------------------------------------
# ● その他の更新
#--------------------------------------------------------------------------
def update_other
self.opacity = @picture.opacity
self.blend_type = @picture.blend_type
self.angle = @picture.angle
self.tone.set(@picture.tone)
end
end