❤ 0 Auteur : DjLeChuck
Logiciel : RPG Maker VX
Nombre de scripts : 1
Description
Ce script pour RMVX est une amélioration du script zoom_charas de berka.
Il permet de ne changer la taille que d'un seul event au lieu de tous à la fois et propose également un système d'effet de profondeur (les sprites seront de plus en plus petit selon leur position sur la map)
Installation
A placer au-dessus de Main.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
| =begin
#==============================================================================
# RMVX - ZoomEvent
# Basé sur Charas_Zoom de berka
#--------------------------------------------------------------------------
# Auteur : DjLeChuck
# Dernière mise à jour : sam. 12 déc. 2009
# Version: 1.0
#
Installation : Insérer le script dans la partie "Materials"
Ce script permet :
- modifier la taille d'un seul event dont l'id est passé en paramètre,
- modifier la taille de tous les évent,
- réaliser un effet de profondeur (les sprite seront de plus en plus petit
à mesure qu'ils seront en haut de la map)
Utilisation :
À insérer dans "Appeler un Script" en page 3 des évent :
Modifier la taille d'un seul évent :
$scene.zoom_event("+50", 0) => augmenter de 50% la taille du héros
$scene.zoom_event("-50", 2) => diminuer de 50% la taille de l'évent n° 2
$scene.zoom_event("0", 0) => réinitialiser la taille du héros
Modifier la taille de tous les évent :
$scene.zoom_allEvent("+50") => augmenter de 50% la taille de tous les évent
Réaliser un effet de profondeur :
$scene.zoom_profondeur() => l'effet peut-être arrangé en modifiant les valeurs ligne 92
=end
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
# This class performs the map screen processing.
#==============================================================================
class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# * Modifie la taille de l'event dont l'id est passé en paramètre
#--------------------------------------------------------------------------
def zoom_event(zoom, id, tous = false, profondeur = false)
$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"
$idEvent = id - 1
$toutFaire = false
$dezoomProfondeur = false
@spriteset.update_characters
end
#--------------------------------------------------------------------------
# * Modifie la taille de tous les event
#--------------------------------------------------------------------------
def zoom_allEvent(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"
$toutFaire = true
$dezoomProfondeur = false
@spriteset.update_characters
end
#--------------------------------------------------------------------------
# * Modifie la taille de tous les évent selon leur position sur la map
#--------------------------------------------------------------------------
def zoom_profondeur()
$dezoomProfondeur = true
@spriteset.update_characters
end
end
#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
# This class brings together map screen sprites, tilemaps, etc. It's used
# within the Scene_Map class.
#==============================================================================
class Spriteset_Map
#--------------------------------------------------------------------------
# * Update Character Sprite
#--------------------------------------------------------------------------
def update_characters
$z = 1.0 if $z.nil?
i = 0
for sprite in @character_sprites
if $toutFaire then
if $dezoomProfondeur then
#-------------------------------------------------------------------------
# DEBUT - Réglage de la taille de la profondeur
#-------------------------------------------------------------------------
sprite.zoom_x = sprite.zoom_y = 0.5 + sprite.y / 1280.0
#-------------------------------------------------------------------------
# FIN - Réglage de la taille de la profondeur
#-------------------------------------------------------------------------
else
sprite.zoom_x = sprite.zoom_y = $z
end
else
if i == $idEvent then
sprite.zoom_x = sprite.zoom_y = $z
end
if i == (@character_sprites.size - 1) and $idEvent == -1 then
sprite.zoom_x = sprite.zoom_y = $z
end
end
i = i + 1
sprite.update
end
end
end |
Mis à jour le 23 novembre 2020.
|