Mack Chevalier (niveau 5)
Messages postés : 126 Date d'inscription : 26/06/2013 Jauge LPC :
| Sujet: [Utilitaire] Afficher des valeurs à l'écran Mer 15 Avr 2015 - 22:49 | |
| Salut salut ! I. IntroductionVoila, donc c'est pour faciliter la tache aux gens qui veulent créer un menu ou un HUD en évent. Cet utilitaire permet aux travers de la commande "insérer un script" d'afficher une valeur bien plus facilement. II. RessourcesVous aurez éventuellement besoin de créer un dossier Numbers dans le dossier Pictures de votre projet. Dans le dossier Numbers, vous devrait placer une image pour chaque nombres. Le nom doit être S0, S1 ... S étant personnalisable, par exemple, dans mon dossier numbers, j'ai deux style de nombres, l'un pour les HP, l'autre pour les Level. Je vais avoir deux séries de nombres : Lvl0, Lvl1, Lvl2 .... Et HP0, HP1, HP2 ... add_number(0,200,200,999, "HP") Va afficher 999 aux coordonnées 200/200, et chaque nombres devra se trouver dans le dossier "Pictures/Numbers/HPX" Avec X compris entre 0 et 9. add_number(0,200,200,999, "Lvl") Va afficher 999 aux coordonnées 200/200, et chaque nombres devra se trouver dans le dossier "Pictures/Numbers/LvlX" Avec X compris entre 0 et 9. III. Script - Code:
-
# Permet d'afficher des nombres à l'écran. #Les 3 fonctions sont expliquer en dessous. # Pour les deux premières fonctions, les paramètres X/Y/Id/Val peuvent être #des variables grâce à $game_variables[I].
# Créer par Mack 15/4/2015
class Interpreter # Permet d'afficher aux coordonnées X/Y un nombre val. #Le flag name permet d'utiliser des images spéciales pour #représenter chaque nombre. Ne pas le mettre revient à utiliser #La Police Arial #id permet est le numéro d'identificateur ( Marche de la même manière # que les pictures ou les héros ) #Exemple : #add_number(0,200,200,999) # Va afficher 999 aux coordonnées 200/200 avec la police Arial #add_number(0,200,200,999, "s") # Va afficher 999 aux coordonnées 200/200, #et chaque nombres devra se trouver dans le dossier "Pictures/Numbers/sX" #Avec X compris entre 0 et 9. def add_number(id,x,y,val, name=nil) s = Sprite.new str = val.to_s l = str.length s.x = x s.y = y s.z = 500 if (name) b = RPG::Cache.picture("Numbers/"+name+"0") cw = b.width ch = b.height s.bitmap = Bitmap.new(l*cw, ch) for i in 0...l j = (str[i] - 48).to_s b = RPG::Cache.picture("Numbers/"+name+j) s.bitmap.blt(i*cw,0,b, Rect.new(0,0,cw,ch)) end else s.bitmap = Bitmap.new(l*16, 48) s.bitmap.font.name = "Arial" s.bitmap.font.size = 32 s.bitmap.font.color.set(255, 255, 255) s.bitmap.draw_text(s.bitmap.rect, str, 1) end if ($game_temp.pictures_array == nil) $game_temp.pictures_array = [] end if (id>=$game_temp.max_p) print("Le numéro de l'image est trop grand.") s.dispose else if ($game_temp.pictures_array[id]) erase_number(id) end $game_temp.pictures_array[id] = s end end # Permet d'effacer l'image n°id. # Le flag show_error est facultatif. # Le mettre sur false n'affichera pas les messages d'erreur # Exemple : #erase_number(0) # Effacera l'image 0, en affichant un message d'erreur si besoin #erase_number(0,false) # Effacera l'image 0, sans jamais aucun message d'erreur. def erase_number(id, show_error=true) if ($game_temp.pictures_array[id]) $game_temp.pictures_array[id].dispose $game_temp.pictures_array[id] = nil elsif show_error print("La commande 'erase_picture' essaie d'acceder à une image non initialisée.") end end #Permet d'efface toute les images précédement créer. def erase_all for i in 0...$game_temp.max_p+1 erase_number(i, false) end end end
class Game_Temp attr_accessor :pictures_array attr_accessor :max_p alias ini initialize def initialize ini @max_p = 256 end end
class Scene_Map alias m main def main m $game_system.map_interpreter.erase_all end end
Si vous avez d'autres idées de chose à ajouter dites le. |
|
Kasbak Membre V.I.P.
Messages postés : 1356 Date d'inscription : 05/01/2013 Jauge LPC :
| Sujet: Re: [Utilitaire] Afficher des valeurs à l'écran Jeu 16 Avr 2015 - 0:50 | |
| Merci du partage ça peu servir ce genre de script. |
|
Zexion Administrateur
Messages postés : 6228 Date d'inscription : 04/01/2012 Jauge LPC :
| Sujet: Re: [Utilitaire] Afficher des valeurs à l'écran Jeu 16 Avr 2015 - 1:25 | |
| Merci bien, voilà des points. |
|
City Hunter Administrateur
Messages postés : 6524 Date d'inscription : 25/05/2011 Jauge LPC :
| Sujet: Re: [Utilitaire] Afficher des valeurs à l'écran Jeu 16 Avr 2015 - 19:31 | |
| Cool merci Mack |
|
Mack Chevalier (niveau 5)
Messages postés : 126 Date d'inscription : 26/06/2013 Jauge LPC :
| Sujet: Re: [Utilitaire] Afficher des valeurs à l'écran Jeu 16 Avr 2015 - 23:23 | |
| De rien ^^.
Si tu vois d'autres trucs utiles du même à genre à rajouter, hésite pas City ^^. |
|
Contenu sponsorisé
| Sujet: Re: [Utilitaire] Afficher des valeurs à l'écran | |
| |
|