Roys Guide
Nombre de messages : 111 Age : 52 Projet Principal : Le Crépuscule des Dieux Aide Recherchée pour : des chara aRPG Surnom : Scripteur Monomaniaque Date d'inscription : 24/02/2007
| Sujet: Les animations qui respectent les priorités d'affichage Sam 14 Avr - 9:28 | |
| Bonjour Voici un script que j'ai fait il y a longtemps car j'ai été très vite ennuyé par le fait que les animations de RPG Maker ne respectaient pas les priorités d'affichage. En clair, vous faisiez une animation derrière un arbre mais l'animation s'affichait par dessus Pas très propre... Ce petit script permet notamment aux events maker de gérer les animations de leur coups et magie sans passer par les scripts. En effet je me souviens d'un event maker qui avait fait un chouette truc, genre arpg, mais dès que le héros donnait un coup d'épée derrière un mur, pouf, il apparaissait subitement devant..erf.. Voilà le remède, simple mais efficace - Code:
-
#============================================ # ANIMATION RESPECTANT LA PROFONDEUR ET LES PRIORITéS # Stephane Royer, 11/2006 # # Mise a jour du Module Sprite # Pour afficher les animations en respectant les priorités d'affichage #============================================ module RPG
class Sprite < ::Sprite #------------------------------------------------------------------- # ANIMATION SET SPRITE # Gère l'affiche des anim en respectant la profondeur #------------------------------------------------------------------- def animation_set_sprites(sprites, cell_data, position) for i in 0..15 sprite = sprites[i] pattern = cell_data[i, 0] if sprite == nil or pattern == nil or pattern == -1 sprite.visible = false if sprite != nil next end sprite.visible = true
sprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192) if position == 3 if self.viewport != nil sprite.x = self.viewport.rect.width / 2 sprite.y = self.viewport.rect.height - 160 else sprite.x = 320 sprite.y = 240 end else sprite.x = self.x - self.ox + self.src_rect.width / 2 sprite.y = self.y - self.oy + self.src_rect.height / 2 sprite.y -= self.src_rect.height / 4 if position == 0 sprite.y += self.src_rect.height / 4 if position == 2 end #--------------------------------------------------- # Pronfondeur de l'animation juste par dessus les PJs sprite.z = sprite.y+16+64 #--------------------------------------------------- sprite.x += cell_data[i, 1] sprite.y += cell_data[i, 2] sprite.ox = 96 sprite.oy = 96 sprite.zoom_x = cell_data[i, 3] / 100.0 sprite.zoom_y = cell_data[i, 3] / 100.0 sprite.angle = cell_data[i, 4] sprite.mirror = (cell_data[i, 5] == 1) sprite.opacity = cell_data[i, 6] * self.opacity / 255.0 sprite.blend_type = cell_data[i, 7] end end end end | |
|
Rei Dunamis Chercheur
Nombre de messages : 17 Age : 34 Projet Principal : Cohl Aide Recherchée pour : Des Scripts de combats Surnom : Accro au dessin, Boulet, Psychoboy Date d'inscription : 26/03/2007
| Sujet: Re: Les animations qui respectent les priorités d'affichage Sam 14 Avr - 13:43 | |
| Merci Roys ! En effet c'était bien embetant sa ... | |
|
kriss Chercheur
Nombre de messages : 9 Age : 46 Projet Principal : Monolithe Date d'inscription : 28/02/2007
| Sujet: Re: Les animations qui respectent les priorités d'affichage Dim 15 Avr - 10:14 | |
| Oui c'est une excellente idée ^^ | |
|
Contenu sponsorisé
| Sujet: Re: Les animations qui respectent les priorités d'affichage | |
| |
|