class CustomSprite
def initialize(image,x,y,z,opacity,viewport=nil)
@sprite=Sprite.new(viewport)
@sprite.bitmap=BitmapCache.load_bitmap(image)
@disposed=false
@viewport=viewport
@posx=x
@posy=y
@posz=z
@opacity=opacity
update
end
def dispose
if !@disposed
@sprite.dispose if @sprite
@sprite=nil
@disposed=true
end
end
def update
return if @disposed
@sprite.x=@posx
@sprite.y=@posy
@sprite.z=@posz
@sprite.opacity=@opacity
end
end
def pbShowImage(image, x, y, opacity)
if $scene && $scene.is_a?(Scene_Map)
if $scene.respond_to?("pbAddCustomSprite")
$scene.pbAddCustomSprite(image,x,y,opacity)
end
end
end
class Spriteset_Map
alias custom_image_initialize initialize
def initialize(map=nil)
@customSprites=[]
@z=1 #esta la que sea por defecto
@z=character_sprites[0].z-1 if character_sprites.length>0
custom_image_initialize(map)
end
def pbAddCustomSprite(sprite,x,y,opacity)
@customSprites.push(CustomSprite.new(sprite,x,y,@viewport1,opacity))
end
alias custom_sprite_dispose dispose
def dispose
custom_sprite_dispose
for sprite in @customSprites
sprite.dispose
@customSprites.delete(sprite)
end
end
alias custom_sprite_update update
def update
custom_sprite_update
if Input.trigger?(Input::C)
for sprite in @customSprites
sprite.dispose
@customSprites.delete(sprite)
end
return
end
for sprite in @customSprites
sprite.update
end
end
end