Invité Invité
| Sujet: afficher une variable à l'écran en permanence Mar 28 Aoû - 21:37 | |
| j'aimerais avoir une variable qui s'affiche en permanence tant que je suis sur une map, mais ça ne doit pas perturber le jeu (le héro doit pouvoir bouger) est ce possible ? |
|
Schlangan Membre très actif
Nombre de messages : 232 Age : 37 Localisation : Jigoku Date d'inscription : 12/08/2007
| Sujet: Re: afficher une variable à l'écran en permanence Mer 29 Aoû - 10:54 | |
| Tu veux afficher la variable pour quoi ?
Si c'est pour voir si ça marche bien, tu n'as qu'à appuyer sur F9 si tu as lancé le jeu par RPG Maker. Ainsi tu auras la liste de toutes les variables et interrupteurs du jeu xD | |
|
Sam-rpg Administrateur
Nombre de messages : 2492 Age : 30 Localisation : Bayonne Date d'inscription : 01/05/2007
| Sujet: Re: afficher une variable à l'écran en permanence Mer 29 Aoû - 14:31 | |
| C'est possible en faisant pas mal d'images et un evenement en processus parallèle. Fais des images de ta variables avec "1", "2", "3".... Ensuite, tu fais un evenement en processus parallèle avec : Condition : Si la variable est égale à 1 : Afficher l'image : "1" Condition : si la variable est égale à 2 : Effacer l'image : "1" Afficher l'image : "2"
Et tu continues pareille jusqu'au nombre maximum de ta variable. | |
|
Invité Invité
| Sujet: Re: afficher une variable à l'écran en permanence Mer 29 Aoû - 15:19 | |
| je veux que le joueur puisse voir la variable, donc solution de schlangan => exclus. le maximum de ma variable ça sera vraiment beaucoup genre 9999 donc solution de Sam-RPG => trop longue donc irréalisable. quelqu'un a une autre idée ? |
|
Invité Invité
| Sujet: Re: afficher une variable à l'écran en permanence Mer 26 Sep - 18:55 | |
| je sais plus qui m'avait passé ça: - Citation :
- Avec ce script vous pourrez facilement gérer:
- Un compteur de flèche/bombe vec une icone - Une chronomètre ou décompte - Des compteur d'argent etc etc
Ce script vous permettra de créer plusieurs compteurs: - à l'emplacement que vous voulez sur l'ecran - avec une icone choisie - avec un texte devant
Le compteur est géré par une variable RMXP que VOUS désignez. Elle est mise à jour automatique dès que vous l'avez créée. Vous pouvez l'effacer à tout moment par une commande simple Enfin, la sauvergarde est intégrée. C'est à dire que si vous sauvez votre partie, la jauge prendra la place où vous l'avez laissé lors de la sauvegarde. De même la gestion de l'effacement et de l'affichage se fait automatiquement lorsque vous quittez la map vers un menu, ou lorsque vous revenez sur la map
Voici le script appelez le Compteur et mettez le au dessus de main. Des explications sont indiquées en en-tête pour créer votre premièr compteur, lisez les attentivement.
bon making
- Code:
-
#============================================================================ # SCRIPT COMPTEUR # Stephane Roys, Royer # Fevrier 2007 # Projet: Petite Boite à outils pour aider les event maker
# Ce script permet de gèrer en event l'apparition d'un compteur sours forme d'une icone avec un nombre et un titre
# 1- Créer un compteur en event # Faire inserer script: $compteur = Compteur.new(x,y,var,"icone","texte") # Remplacer $compteur par $le_nom_de_votre_compteur # x et y par les coordonnées ecran ou s'affichent votre compteur # var par le numéro de votre variable qui contrôle la compteur # "icone" par le nom de votre icone que vou savez importé dans le dossier Icons, # texte par un texte entre "guillement" court portant le nom de votre compteur (par ex "Ammo"). # exemple: $ammo=compteur.new(0,0,2,"005-Weapon05","Fleches") # ici on créé un compteur $ammo qui s'affiche en 0,0 (coin haut gauche) # , gèrer par la variable002 avec le texte "Fleches" devant
# 2- Mise à jour de la compteur # La mise à jour est automatique, vous n'avez qu'à changer la valeur de la variable de votre compteur # Ainsi que l'effacement quand vous allez sur votre menu
# 3- Effacer une compteur # Faire simplement $le_nom_de_votre_compteur.off
# Recommandations à lire #------------------------ # 1- Vous pouvez changer la taille de la Police et la couleur de tous les compteurs ici: FONT="Arial" TAILLE=16 COLOR=Color.new(0,0,0,255)
#2- Prenez soin de donner des noms différents à vos compteurs sinon vous risquez d'avoir des conflits
#3- Ne crééez pas une compteur en processus parallèle sinon vous allez créér une nouvelle compteur à chaque frame # jusqu'a ce que RM bug
#4- La sauvergarde est comprise dans le script. Donc apres un load votre compteur sera dans l'etat ou il a été sauvé
#5- Les compteurs s'effacent tous seul quand vous sortez de la map vers un menu, et il se recrée seul quand vous revenez sur la map #============================================================================
#============================================================================ # COMPTEURS # Créé le tableau des compteurs de Jeu #============================================================================ class Game_Party attr_accessor:compteurs alias compteur_game_party_initialize initialize #-------------------------------------------------------------------------- # INITIALIZE #-------------------------------------------------------------------------- def initialize compteur_game_party_initialize # Tableau des compteurs @compteurs=[] end end
#============================================================================ # COMPTEUR #============================================================================ class Compteur
attr_accessor:x # Coordonnées d'affichage attr_accessor:y attr_accessor:var # Numéro de la variable RMXP attr_accessor:value # Valeur de la variable RMXP attr_accessor:texte # Texte devant l'icone attr_accessor:icone # nom de l'icone dans le dossier Icons attr_accessor:fin_compteur # Indique la fin du compteur
#-------------------------------------------------------------------------- # INITIALIZE #-------------------------------------------------------------------------- def initialize(x,y,var,icone,texte) @x=x;@y=y;@var=var;@icone=icone;@texte=texte @fin_compteur=false $game_party.compteurs.push(self) @visible=true @value=$game_variables[@var] end
#-------------------------------------------------------------------------- # UPDATE #-------------------------------------------------------------------------- def update @value=$game_variables[@var] end
#-------------------------------------------------------------------------- # OFF # Termine le compteur #-------------------------------------------------------------------------- def off @fin_compteur=true end end
#============================================================================ # ¦ Spriteset Map # Mise à jour de la class Spriteset_Map afin de gérer l'affichage graphique #============================================================================ class Spriteset_Map #-------------------------------------------------------------------------- alias compteur_spriteset_map_initialize initialize alias compteurspriteset_map_dispose dispose alias compteur_spriteset_map_update update
#-------------------------------------------------------------------------- # INITIALIZE #-------------------------------------------------------------------------- def initialize # Créé les compteurs @compteur_sprite=[] for compteur in $game_party.compteurs setup_compteur(compteur) end compteur_spriteset_map_initialize end
#-------------------------------------------------------------------------- # SETUP #-------------------------------------------------------------------------- def setup_compteur(compteur) # Créé le sprite en fonction de la taille de la police sprite=Sprite.new sprite.bitmap=Bitmap.new(24+3*TAILLE+compteur.texte.size*TAILLE,[TAILLE,24].max) # Récupère l'icone bitmap=Bitmap.new(24,24) bitmap = RPG::Cache.icon(compteur.icone) # Construit le sprite sprite.bitmap.blt(compteur.texte.size*TAILLE,0,bitmap,Rect.new(0,0,24,24)) sprite.bitmap.font.color= Color.new(0,0,0) sprite.z = 3000 sprite.x = compteur.x sprite.y = compteur.y sprite.bitmap.font.name = FONT sprite.bitmap.font.size = TAILLE sprite.bitmap.font.color= COLOR sprite.bitmap.draw_text(0,0,compteur.texte.size*TAILLE, [TAILLE,24].max,compteur.texte,0) @compteur_sprite.push(sprite) end
#-------------------------------------------------------------------------- # UPDATE #-------------------------------------------------------------------------- def update compteur_spriteset_map_update #----------------------------- # Cherche si une nouvelle compteur a été créée for key in @compteur_sprite.size..$game_party.compteurs.size-1 setup_compteur($game_party.compteurs[key]) end #----------------------------- # Update la compteur delete_sprite=[] delete_compteur=[] for key in 0..$game_party.compteurs.size-1 compteur=$game_party.compteurs[key] sprite=@compteur_sprite[key] # Récupère la valeur du compteur compteur.update # Rafraichit le sprite sprite.bitmap.clear bitmap=Bitmap.new(24,24) bitmap = RPG::Cache.icon(compteur.icone) # Affiche l'icone sprite.bitmap.blt(compteur.texte.size*TAILLE,0,bitmap,Rect.new(0,0,24,24)) # Affiche le titre sprite.bitmap.draw_text(0,0,compteur.texte.size*TAILLE, [TAILLE,24].max,compteur.texte,1) # Affiche le Compteur sprite.bitmap.draw_text(compteur.texte.size*TAILLE+24,0,compteur.texte.size*TAILLE, [TAILLE,24].max,compteur.value.to_s,1) # Observe si la compteur est disposée if compteur.fin_compteur delete_sprite.push(sprite) delete_compteur.push(compteur) end end #----------------------------- # Dispose la compteur for sprite in delete_sprite sprite.dispose @compteur_sprite.delete(sprite) end for compteur in delete_compteur $game_party.compteurs.delete(compteur) end end
#-------------------------------------------------------------------------- # DISPOSE #-------------------------------------------------------------------------- def dispose compteur_spriteset_map_dispose for sprite in @compteur_sprite sprite.dispose end end end
une petit faute de frappe s'est glissée
remplacé Portion de code: class Spriteset_Map #-------------------------------------------------------------------------- alias compteur_spriteset_map_initialize initialize alias compteurspriteset_map_dispose dispose alias compteur_spriteset_map_update update
par #-------------------------------------------------------------------------- alias compteur_spriteset_map_initialize initialize alias compteur_spriteset_map_dispose dispose alias compteur_spriteset_map_update update sauf que je sais pas pourquoi il marche pas, il met erreur ligne 118, quelqu'un peut le réparer ? |
|
Luzert Administrateur
Nombre de messages : 921 Date d'inscription : 23/06/2007
| Sujet: Re: afficher une variable à l'écran en permanence Jeu 27 Sep - 11:02 | |
| Ok, le script ne bug pas. Faites un essai tous, si vous trouvez un bug, faites le nous savoir et dites les scripts avec lequels il rentre en colfict, même si en principe ca ne devrais pas buger. | |
|
Invité Invité
| Sujet: Re: afficher une variable à l'écran en permanence Jeu 27 Sep - 15:05 | |
| moi dés que je charge une partie, il me dit erreur ligne 118 je sais pas quoi undefined method "each" ou un truc comme ça... |
|
Sam-rpg Administrateur
Nombre de messages : 2492 Age : 30 Localisation : Bayonne Date d'inscription : 01/05/2007
| Sujet: Re: afficher une variable à l'écran en permanence Jeu 27 Sep - 20:03 | |
| Chez moi il marche très bien. Essaye de le mettre dans un nouveau projet pour voir. | |
|
Invité Invité
| Sujet: Re: afficher une variable à l'écran en permanence Jeu 27 Sep - 21:06 | |
| je pense que en effet il réagit mal avec un autre script. sans doute encore une fois le script ZTBS, je vais essayer de faire des tests. enattendant si quelqu'un a une idée pour modifier ce script ou règler mon problème, prévenez moi. |
|
Contenu sponsorisé
| Sujet: Re: afficher une variable à l'écran en permanence | |
| |
|