Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: "Dread Mac Farlane", (...) / Tutos: Checklist de la composition (...) / Sorties: Dread Mac Farlane - episode 8 / Sorties: Dread Mac Farlane - episode 7 / Jeux: Ce qui vit Dessous / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

448 connectés actuellement

29432730 visiteurs
depuis l'ouverture

7106 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Kingdom Ultimate

RPG Maker VX

Planète Glutko

Hellsoft

Level Up!

Tous nos partenaires

Devenir
partenaire



Multi-panorama

Afin d'utiliser plusieurs panoramas sur une même map.

Script pour RPG Maker XP
Ecrit par trebor777 (Guillaume777)
Publié par trebor777 (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : trbor777 (Guillaume777)
Logiciel : RPG Maker XP
Nombre de scripts : 1

Fonctionnalités
Ce script permet :
- D'avoir plusieurs panorama sur une map;...^^ (noooooon ???!!! )
- Que chacun d'eux puisse défiler à une vitesse différente...
- que Chacun d'eux possède un ratio sur la vitesse, avec la caméra pour permettre des effets de paralax..!

Utilisation
A placer au-dessus de Main.

Portion de code : Tout sélectionner

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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
#============================================= 
# Multi-panorama script 
#------------------------------------------------------------------------------ 
# Guillaume777 
# 1 
# 2005/12/28 
#============================================= 
# 
# 
# To use it, make a script event with something like 
# $game_map.panoramas[0] = Panorama.new('city_pano.png', 0, -500, 2, -3, 1.0/12.0, 1.0/8.0) 
# 
# [0] is specific place inside the panoramas array where panorama info saved 
# city_pano.png is the name of the panorama picture file in \Graphics\Panoramas 
# 0 is the hue 
# -500 is the z ( higher z : draw on top of lower z ) 
# 2 is autoscroll x speed 
# -3 is the autoscroll y speed 
# 1.0/12.0 is ratio of panorama moved / camera moved. Higher ration means faster 
# panorama scrolling as you move around horizontaly 
# 1.0/8.0 is ratio of panorama moved / camera moved vertically 
# 
# You can also use $game_map.panoramas[0].z, $game_map.panoramas[0].name etc to 
# change the panorama 
# 
# Extra panoramas are going to stay in all maps unless you remove them 
# If you want to remove all extra panorama ( for exemple changing the map ) use 
# $game_map.panoramas = nil 
# 
class Game_Map 
#-------------------------------------------------------------------------- 
# Make array to store panoramas in $game_map.panoramas 
#-------------------------------------------------------------------------- 
def panoramas 
if @panoramas == nil then @panoramas = Array.new end 
return @panoramas 
end 
 
def panoramas=(array) 
for i in 0...self.panoramas.size 
if self.panoramas[i] != nil then 
self.panoramas[i].dispose 
self.panoramas[i] = nil 
end 
end 
@panoramas = array 
end 
end 
 
class Spriteset_Map 
#-------------------------------------------------------------------------- 
# * Update new panoramas and or create the plane with viewport1 
#-------------------------------------------------------------------------- 
alias g7_mp_spriteset_map_update update 
def update 
g7_mp_spriteset_map_update 
 
for i in 0...$game_map.panoramas.size 
if $game_map.panoramas[i] != nil then 
if $game_map.panoramas[i].plane == nil then 
$game_map.panoramas[i].plane = Plane.new(@viewport1) 
end 
$game_map.panoramas[i].update 
end 
end 
end 
 
#-------------------------------------------------------------------------- 
# Dispose extra panoramas 
#-------------------------------------------------------------------------- 
alias g7_mp_spriteset_map_dispose dispose 
def dispose 
g7_mp_spriteset_map_dispose 
for i in 0...$game_map.panoramas.size 
if $game_map.panoramas[i] != nil then $game_map.panoramas[i].dispose end 
end 
end 
end 
 
 
#-------------------------------------------------------------------------- 
# This class holds all data relevant to the panorama 
#-------------------------------------------------------------------------- 
class Panorama 
attr_accessor :name #name of file to use as panorama 
attr_accessor :hue #color hue, 0 default 
attr_accessor :z # z value of panorama, used to determine what draws on top 
attr_accessor :plane #plane used to draw the panorama 
 
attr_accessor :autoscroll_x_speed #autoscroll horizontality value 
attr_accessor :autoscroll_y_speed 
attr_accessor :move_speed_x #ratio panorama moved / camera moved, 1.0/8.0 default 
attr_accessor :move_speed_y 
 
 
#-------------------------------------------------------------------------- 
# This init the panorama, but doesnt create the plane 
#-------------------------------------------------------------------------- 
def initialize(name='', hue=0, z = -1200, 
autoscroll_x_speed = 0, autoscroll_y_speed = 0, 
move_speed_x = 1.0/8.0, move_speed_y = 1.0/8.0) 
@z = z 
@name = name 
@hue = hue 
@autoscroll_x_speed = autoscroll_x_speed 
@autoscroll_y_speed = autoscroll_y_speed 
@move_speed_x = move_speed_x 
@move_speed_y = move_speed_y 
 
@current_name = '' 
@current_hue = 0 
@scroll_frames_x = 0 
@scroll_frames_y = 0 
@scroll_point_x = 0 
@scroll_point_y = 0 
 
end 
 
def dispose 
@current_name = '' 
@plane.dispose 
@plane = nil 
end 
 
 
#-------------------------------------------------------------------------- 
# Update ox and oy of panorama 
#-------------------------------------------------------------------------- 
def update 
if @current_name != @name or 
@current_hue != @hue 
@current_name = @name 
@current_hue = @hue 
if @plane.bitmap != nil #if not old panorama then remove old panorama 
@plane.bitmap.dispose 
@plane.bitmap = nil 
end 
if @current_name != "" #if new panorama then add the new panorama 
@plane.bitmap = RPG::Cache.panorama(@name, @hue) 
end 
end 
 
# Update panorama plane 
@plane.z = @z 
if @autoscroll_x_speed != 0 or @autoscroll_y_speed != 0 
self.scroll #get new scroll_point values 
#change the paronama ox and oy for new values 
@plane.ox = @scroll_point_x + $game_map.display_x * @move_speed_x 
@plane.oy = @scroll_point_y + $game_map.display_y * @move_speed_y 
else 
@plane.ox = $game_map.display_x * @move_speed_x 
@plane.oy = $game_map.display_y * @move_speed_y 
end 
end 
 
 
#-------------------------------------------------------------------------- 
# Get new @scroll_point values 
#-------------------------------------------------------------------------- 
def scroll 
w = @plane.bitmap.width 
h = @plane.bitmap.height 
 
@scroll_frames_x += @autoscroll_x_speed 
@scroll_frames_y += @autoscroll_y_speed 
while @scroll_frames_x >= 8 
@scroll_frames_x -= 8 
@scroll_point_x += 1 
end 
while @scroll_frames_x <= -8 
@scroll_frames_x += 8 
@scroll_point_x -= 1 
end 
while @scroll_frames_y >= 8 
@scroll_frames_y -= 8 
@scroll_point_y += 1 
end 
while @scroll_frames_y <= -8 
@scroll_frames_y += 8 
@scroll_point_y -= 1 
end 
if @scroll_point_x > w 
@scroll_point_x -= w 
end 
if @scroll_point_x < -w 
@scroll_point_x += w 
end 
if @scroll_point_y > h 
@scroll_point_y -= h 
end 
if @scroll_point_y < -h 
@scroll_point_y += h 
end 
end 
 
end



Le lien vers la démo : http://www.megaupload.com/?d=17TOJCT5

Utilisation
Pour l'utiliser, créer un evénement Script et insérez par exemple $game_map.panoramas[0] = Panorama.new('city_pano.png', 0, -500, 2, -3, 1.0/12.0, 1.0/8.0), où :
- [0] Est un index spécifique du tableau des panoramas, où les informations sont sauvegardées
- city_pano.png est le nom du fichier image, à placer dans Graphics/Panoramas
- 0 est le ton
- -500 est la coordonnée z (plus z est grand: plus est dessiné par dessus le plus petit z)
- 2 est la vitesse de scroll auto en X
- -3 est la vitesse de scroll auto en Y
- 1.0/12.0 est le ratio de panorama déplacé / caméra déplacé horizontalement. Un grand ratio signifie un scrolling plus rapide du panorama pendant votre déplacement horizontal
- 1.0/8.0 est le ratio de panorama déplacé / caméra déplacé verticalement

Vous pouvez aussi utiliser $game_map.panoramas[0].z, $game_map.panoramas[0].name etc pour changer le panorama.

Les panoramas supplémentaires resteront dans toutes les maps à moins que vous les enleviez. Pour tous les enlever (par exemple en changeant de map) utilisez $game_map.panoramas = nil.


Mis à jour le 20 novembre 2020.






immudelki - posté le 30/06/2009 à 17:21:02 (3648 messages postés) - staff -

❤ 0

Xnivurognien souriant

Très efficace, il peut aisément remplaçer les 3/4 de scripts ayant pour thème les pano, les fogs et les images !
D'ailleurs il possède une fonction très utile que je n'avias jamais vu auparavant, mettre un pano entre le tileset et les characters :)


Ce Script est une référence absolue en matière de panoramisation XP


Mein Topic sur Oniro/Mein site pro/Mein Tumblr/Mein jeu Code Lyoko développé h24 7/7 - "Donnez des oeufs au peuple, il fera des oeufs brouillés" Réu Oniro 12/01/2022


gif - posté le 30/06/2009 à 17:44:52 (4782 messages postés) - staff

❤ 0

Egotrip Gigamaxé

Je savais que EL3 gérais plusieurs fog, mais pour les pano je suis tout aussi intéressé. Bien trouvé.

Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen !


Joke - posté le 14/07/2010 à 02:31:04 (5089 messages postés)

❤ 0

Bilouteux fou

POUR FAIRE FONCTIONNER SUR VX :

Ligne 139

Remplacer :

Portion de code : Tout sélectionner

1
@plane.bitmap = RPG::Cache.panorama(@name, @hue)



Par :

Portion de code : Tout sélectionner

1
@plane.bitmap = Cache.load_bitmap("Graphics/Parallaxes/", @name, @hue)



biloumaster.fr, mon joli site ouèb tout bô tout frai !

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers