❤ 1Roi of the Suisse Auteur : Fabien
Logiciel : RPG Maker XP
Nombre de scripts : 0
Attention, ce tutoriel amène à la modification des scripts de base. Assurez-vous de créer une copie de sauvegarde de vos scripts de base avant de poursuivre.
Les adeptes de RM2K et RM2K3 se plaignent avec raison que sous RMXP, les panoramas ne peuvent plus bouger en même temps que la carte. Cette option était pourtant bien utile pour faire de jolies cartes.
Je vais donc vous expliquer comment reproduire cette option dans Rmxp, vous verrez que c'est très simple.
Ouvrez l'éditeur de script (en appuyant sur F11) et cherchez le script Spriteset_map dans la colonne de gauche. Cliquez dessus et faite défiler le code jusqu'à arriver à la ligne 121. Aux lignes 121 et 122 normalement vous avez le code :
1
2
| @panorama.ox = $game_map.display_x / 8
@panorama.oy = $game_map.display_y / 8 |
pour que votre panorama suivent exactement votre carte, remplacez ces deux lignes par celles-ci:
1
2
| @panorama.ox = @tilemap.ox
@panorama.oy = @tilemap.oy |
Et voilà, c'est fini! Vos panoramas suivront désormais vos cartes au pixel près.
Ceci n'est cependant pas l'exacte réplique du mouvement des panoramas Rm2k. Sous Rm2k les panoramas se déplaçaient en même temps que la carte s'ils avaient exactement la même taille que celle-ci.Le code présenté ci dessus dépace les panoramas en même temps que la carte quelque soit leur taille, ce qui peut avoir son intéret mais ne correspond pas à l'effet RM2K.
Cet effet-ci est bien entendu faisable sous rmxp, mais requiert un code un tout petit peu plus sophistiqué :
1
2
3
4
| if @panorama_name != ""
@panorama.ox = @tilemap.ox*$game_map.width*32/@panorama.bitmap.width
@panorama.oy = @tilemap.oy*$game_map.height*32/@panorama.bitmap.height
end |
(placer ce code ligne 121 et 122, à la place de l'ancien, comme pour le précédent)
Ici le panorama est déplacé de la même fraction de sa taille que la carte. Par exemple si on est à la moitié de la carte, le morceau de panorama que l'on verra sera celui qui se trouve en son milieu. (fraction=1/2). C'est exactement la même chose que sous RM2K.
Pour ceux qui voudraient approfondir un tout petit peu, notez que vous pouvez imaginer une gamme variée d'effets. Si vous rajoutez un facteur dans l'équation, votre panorama ne se déplacera plus exactement en même temps que la carte:
1
2
| @panorama.ox = @tilemap.ox/2
@panorama.oy = @tilemap.oy/2 |
et le panorama se déplacera d'un carreau lorsque la carte bougera de deux carreaux
le facteur peut être négatif :
1
2
| @panorama.ox = @tilemap.ox*-1
@panorama.oy = @tilemap.oy*-1 |
et le panorama se déplacera d'un carreau vers la gauche lorsque la carte bougera d'un carreau vers la droite, et vice versa et idem pour haut/bas.
vous pouvez aussi inverser les variables
1
| @panorama.ox = @tilemap.oy |
par
1
| @panorama.oy = @tilemap.ox |
et le pano se déplacera d'un carreau en vertical lorsque la carte bougera d'un carreau en horizontal
celà permettrait aussi de reproduire l'effet de deplacement des panoramas qui existait sous Rm2K
1
2
| @panorama.ox = @panorama.ox +1
@panorama.oy = @panorama.oy +1 |
Ici le panorama se déplace vers bas-droite, d'un pixel par frame (1/40 seconde).
Vous n'êtes pas obligés que tous vos panos se déplacent pareil sur toutes vos maps. Vous pouvez mettre une variable générale que vous réglerez à loisir :
1
2
| @panorama.ox = $pano_x
@panorama.oy = $pano_y |
(il faudra avoir défini $pano_x et $pano_y, par exemple dans l'intialize de Spriteset_map. Mais celà s'adresse déjà à ceux qui maitrisent un peu le ruby)
Etc, etc. Seule votre imagination limite la façon dont le panorama peut bouger.
|