Introduction: Permet de réduire la taille des events lors d'un déplacement ou autre.
Auteur: Berka
Instruction-Placez ce script au-dessus de Main.
Pour faire un zoom à un moment précis, faite un appel de script:
- Code:
-
$scene.zoom_hero("+50")
> pour augmenter la taille de 50%
- Code:
-
$scene.zoom_hero("-50")
> pour diminuer la taille de 50%
- Code:
-
$scene.zoom_hero("0")
> pour réinitialiser la taille
Un déplacement
- Code:
-
zoom = ($game_player.y - 10) * 8
$scene.zoom_hero("+" + zoom.to_s)
Pour cette exemple, votre héros sera réduit quand il montera vers le haut de la map et inversement si il descend
Screen: - Spoiler:
Script:
- Code:
-
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Charas_Zoom ~berka~
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# modifie la taille des charas affichés sur la map
#
# dans appel de script:
# $scene.zoom_hero("+50") > pour augmenter la taille de 50%
# $scene.zoom_hero("-50") > pour diminuer la taille de 50%
# $scene.zoom_hero("0") > pour reinitialiser la taille
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
class Scene_Map < Scene_Base
def zoom_hero(zoom)
$z = 1 + ((zoom.gsub!("+") { $1 }).to_f) /100.0 if zoom.include?("+") rescue ($z = 1)
$z = 1 - ((zoom.gsub!("-") { $1 }).to_f) /100.0 if zoom.include?("-") rescue ($z = 1)
$z = 1 if zoom == "0"
@spriteset.update_characters
end
end
class Spriteset_Map
def update_characters
for sprite in @character_sprites
if not sprite.disposed? #condition rajoutée pour éviter plantage en cas de héros transparent
$z = 1.0 if $z.nil?
sprite.zoom_x = sprite.zoom_y = $z
sprite.update
end
end
end
end