| [VX] Affichage du nom de la carte | |
|
|
Auteur | Message |
---|
† Fondateur du forum †
Age : 31 Inscrit le : 09/02/2008 Messages : 1974
| Sujet: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 9:08 | |
| Bonjour à tous! je viens ici vous montrer mon deuxième script(Merci à ASHKA pour ses enseignements!) Ce script permet d'afficher simplement le nom de la carte. Il utilise une image que voici: le nom de l'image est "map" et se situe dans le dossier Pictures de votre projet. J'ai ajouter un petit effet qui créer une animation lorsque le panneau apparait. Voici un screen in game: Et voici le script: - Code:
-
#============================================================================== # Script de Map pour RPG Maker VX Version1 par Raitosan [29/08/2010] rpg-maker-vx.bbactif.com #============================================================================== # Class Scene_Map #==============================================================================
class Scene_Map < Scene_Base alias old_start start def start old_start @sprite = Sprite.new @hauteur = 30 # hauteur de l'image @sprite.bitmap = Bitmap.new(150,@hauteur) @sprite.opacity = 255 @sprite.x = 5 # marge à gauche @sprite.y = -@hauteur # On cache l'image pour permettre de créer l'animation @sprite.z = 50 @fond = Cache.picture("map") # map est le nom de l'image dans le dossier Pictures @taille = 16 # Taille de la police @hauteur_texte = 2 # marge en hauteur pour obtenir un meilleur centrage @nom_carte = $game_map.name @animation = 0 # variable qui gère l'animation du panneau lors du premier affichage end alias old_terminate terminate def terminate old_terminate @sprite.dispose end alias old_update update def update old_update @sprite.bitmap.clear @sprite.update # On met à jour @sprite.bitmap.blt(0,0,@fond,@fond.rect) # On blit(colle l'image) sur @sprite ecrire_nom # On écris le nom de la carte end # Si le joueur se téléporte, le panneau re-apparaitra, et rejoura l'annimation alias old_update_transfer_player update_transfer_player def update_transfer_player teleported = true if $game_player.transfer? effacer_sprite if teleported old_update_transfer_player update if teleported reset_animation if teleported end # reset les données de l'animation du panneau lors de son apparition def reset_animation @sprite.y = -@hauteur @animation = 0 @nom_carte = $game_map.name end # efface le sprite def effacer_sprite @sprite.bitmap.clear end # Créer l'annimation du panneau (ici, avec des rebons quand il arrive en bas) def animation if @sprite.y < -8 @sprite.y += 2 end if @animation == 4 if @animation == 4 @animation = 0 end if @sprite.y == -8 @sprite.y += 7 elsif @sprite.y == -1 @sprite.y -= 3 elsif @sprite.y == -4 @sprite.y += 2 elsif @sprite.y == -2 @sprite.y = 0 end end @animation += 1 end # Ecrit le nom de la carte def ecrire_nom if @sprite.y != 0 animation end # ecriture @sprite.bitmap.font.name = ["UmePlus Gothic", "MS Pゴシック"] @sprite.bitmap.font.size = @taille @sprite.bitmap.font.italic = false @sprite.bitmap.font.bold = false @sprite.bitmap.font.shadow = true @sprite.bitmap.font.color = Color.new(255,220,80) # Couleur orange @sprite.bitmap.draw_text(0,@hauteur_texte,150,@hauteur, @nom_carte,1) end end # Ici, on ajoute une fonction qui permet de récupéré le nom de la carte. class Game_Map def name map = load_data("Data/MapInfos.rvdata") return map[@map_id].name end end Voilà! En espérant qu'il plaise à certains! |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 9:58 | |
| Un petit script sympa. C'est vrai qu'il y a déjà des scripts du genre, mais dans le cas ou l'on le fait soi même, peu importe. Au niveau du code c'est correct, même si tu pourrais essayer de séparer tes méthodes par ce type de séparation : - Code:
-
#------------------------------------- # nom_Methode #------------------------------------- Idées d'amélioration : Permettre au maker de choisir la position selon l'ID de la map ou par défaut. Permettre au maker de pouvoir changer d'image selon l'ID de la map. Merci du partage ^^ |
|
| |
Poulet carnivore Lv.2
Age : 30 Avertissements : 2 Inscrit le : 25/01/2009 Messages : 13
| Sujet: Re: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 10:20 | |
| Merci Raito-san, je l'utiliserai dans mon projet |
|
| |
† Fondateur du forum †
Age : 31 Inscrit le : 09/02/2008 Messages : 1974
| Sujet: Re: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 10:54 | |
| Mh... C'est pas bête Zang! Quand j'aurais le temps, j'essayerais de modifier ça. Mon groupe est dans un passage où je me dois d'être présent Normalement, demain, ou ce soir, je commencerais à voir ça |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 11:02 | |
| Aussi ca serait bien de pouvoir ne pas afficher le nom sur certaines maps =)
Je te donne 3 points en script, 2 points supplémentaire si tu fait des nouvelles fonctions !
Et essaye d'appliquer les conseils de Zang' ^^ |
|
| |
† Fondateur du forum †
Age : 31 Inscrit le : 09/02/2008 Messages : 1974
| Sujet: Re: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 11:04 | |
| Oh! Merci Blockade Je vais appliquer les conseils de Zang, comme promis Et pour ne pas l'afficher sur certaines cartes, aussi |
|
| |
Habitant Lv.6
Age : 32 Inscrit le : 16/06/2010 Messages : 136
| Sujet: Re: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 11:53 | |
| Ce srcipt apporte un plus comparez aux autres scripts du genre et peu devenir encore meilleur si tu l'améliore... mais un truc me chiffone... la pancarte apparait: très bien, mais elle ne s'en va pas après quelque seconde sur la map! Je pense que cela est voulu mais sa peut ptet géner certains (dont moi^^).
Donc voila juste mon impression sur ce script. Merci pour tout! |
|
| |
† Fondateur du forum †
Age : 31 Inscrit le : 09/02/2008 Messages : 1974
| Sujet: Re: [VX] Affichage du nom de la carte Dim 29 Aoû 2010 - 11:55 | |
| Je peux ajouter une fonction pour qu'elle disparaisse après Sinon, oui c'était fait exprès J'ajoute ça à la liste |
|
| |
Mage Lv.11
Age : 30 Inscrit le : 20/05/2010 Messages : 542
| Sujet: Re: [VX] Affichage du nom de la carte Jeu 9 Sep 2010 - 18:08 | |
| *Lis la date du dernier message posté* Non c'est bon c'est pas un nécro XD
Juste pour dire que je vais utiliser ton script qui est super je trouve ^^ Faut-il te citer dans les crédits ?
PS : je ne crois pas avoir vu qu'on pouvait l'enlever sur certaine maps, je me trompe ? |
|
| |
† Fondateur du forum †
Age : 31 Inscrit le : 09/02/2008 Messages : 1974
| Sujet: Re: [VX] Affichage du nom de la carte Jeu 9 Sep 2010 - 18:40 | |
| Oui(pour les crédits et la question) On ne peux pas encore la faire disparaitre... Je n'ai pas u le temps encore de le faire désoler :/ Merci d'utiliser mon script |
|
| |
Mage Lv.11
Age : 30 Inscrit le : 20/05/2010 Messages : 542
| Sujet: Re: [VX] Affichage du nom de la carte Jeu 9 Sep 2010 - 18:45 | |
| Oki c'est pas grave ^^ J'adore la pancarte qui reste en haut a gauche de l'écran il y a que ton script qui fait ca c'est super PS : je te mets dans mes crédits de suite |
|
| |
Corsaire Lv.19
Age : 27 Inscrit le : 26/11/2009 Messages : 2508
| Sujet: Re: [VX] Affichage du nom de la carte Jeu 9 Sep 2010 - 22:00 | |
| Ah! wow merci beaucoup! et hop! dans mon jeu (et toi dans mes credits ) |
|
| |
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 5:39 | |
| Salut Je viens de voir un petit truc bizarre dans ton script. Ceci : - Spoiler:
- Code:
-
def name map = $load_data("Data/MapInfos.rvdata") return map[@map_id].name end
Ceci fera buguer les scripts de menu qui affiche le nom de la map (je pense, vu que ça n''affiche plus le nom de la map en cours ). T'as plusieurs solution : - Soit tu modifies le nom de la méthode - Soit tu ton script marche mais fait buguer les autres. Sinon, il est très bien Continu ainsi Biward |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 7:35 | |
| C'est quoi le problème la exactement ? ^^'
Parce que bon moi j'en vois aucun hein. Si jamais il y avait une incompatibilité, on utilise pas 2 script de nom de la map en même temps. |
|
| |
† Fondateur du forum †
Age : 31 Inscrit le : 09/02/2008 Messages : 1974
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 11:06 | |
| Merci,à vous, je suis content que mon script vous plaise J'espère pouvoir bientôt rajouter les fonctions :/ pour l'instant je vais devoir aller en cours T_T Bonne journée |
|
| |
Vache Folle
Age : 29 Inscrit le : 22/05/2010 Messages : 3005
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 14:36 | |
| Una autre idée d'amélioration:on peut choisir dans quel sens va apparaître l'image: de bas en haut(par défaut) de gauche à droite de droite à gauche etc... En tout cas c'est un très bon script |
|
| |
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 17:08 | |
| Ce n'est pas vraiment une imcompabilité... Il remplace entièrement le $game_map.name, c'est tout Il n'affiche plus le nom de la map en cours mais le nom de la map d'id @map_id C'est tout x) Biward |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 17:15 | |
| Biward va falloir réfléchir quand tu parle. $game_map.name n'existe pas de base ! C'est pour ca qu'il faut une méthode pour récupérer le nom de la map. Donc avant de faire ton monsieur je sais tout vérifie un peu avant ^^' |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 17:35 | |
| Bah l'un ou l'autre ca reste pareil hein xD Ça reste une méthode pour chopper le nom de la map. |
|
| |
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 17:52 | |
| Ah oui u_u J'ai complètement confondu x) Sorry..
Mais alors, pourquoi mettre @map_id et pas l'id de la map grace à $game_map, afin de le faire fonctionner globalement ?
Biward |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 18:00 | |
| Simple, dans le script game_map ; self.map_id, @map_id, $game_map.map_id renvoient tous la même valeur, donc voila x) |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 18:03 | |
| T'a encore pas mal de chose à apprendre encore je crois ! Alors en fait tu vois dans Game_Map tu à ca : - Code:
-
#-------------------------------------------------------------------------- # * Get Map ID #-------------------------------------------------------------------------- def map_id return @map_id end Donc en gros $game_map.map_id renverra la variable @map_id. Donc dans la classe Game_Map pour obtenir l'ID de la map en cours il suffit de prendre la valeur de @map_id. EDIT : Zang : 1 averto pour avoir répondu avant moi =( |
|
| |
Age : 28 Inscrit le : 30/12/2009 Messages : 1067
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 18:42 | |
| - Block-aide a écrit:
- T'as encore pas mal de chose à apprendre encore je crois !
Je sais, c'est pourr ça que j'essaie de donner des conseils et que je pose toutes sortes de questions Je savais pas pour @map_id...Mais dorénavent, j'le saurais (je pense ) On apprend de ses erreurs Biward |
|
| |
Ex-Admin Cruelle
Age : 32 Inscrit le : 03/07/2008 Messages : 2441
| Sujet: Re: [VX] Affichage du nom de la carte Ven 10 Sep 2010 - 19:22 | |
| - Citation :
- Je sais, c'est pourr ça que j'essaie de donner des conseils, et que je pose toutes sortes de questions
Donner des conseils c'est pas très logique si tu connais pas ^^' Mais poser des questions c'est bien =) => On arrête le HS ici. |
|
| |
Citadin Lv.7
Age : 31 Inscrit le : 19/08/2010 Messages : 153
| Sujet: Re: [VX] Affichage du nom de la carte Lun 17 Jan 2011 - 13:11 | |
| Désolé pour le nécro-post (c'en est un me semble t-il) mais as-tu eu le temps de modifier le script pour que le panneau s'enlève au bout d'un certain temps ? Il peut être plutôt gênant. Et pour ce qui est de ne pas afficher ce panneau dans certaines conditions ? Il gêne mon introduction...
En tout cas c'est un beau script, simple et agréable donc merci. |
|
| |
| Sujet: Re: [VX] Affichage du nom de la carte | |
| |
|
| |
| [VX] Affichage du nom de la carte | |
|