AccueilAccueil  PortailPortail  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  




Partagez | 
 

 Police de messages et langages

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Maire Lv.9
Maire Lv.9
avatar


Masculin Age : 30
Inscrit le : 04/02/2009
Messages : 326

MessageSujet: Police de messages et langages   Lun 30 Mar 2009 - 4:23

Police de messages et langages



-Introduction

Ce script permet juste de changer la police des messages.
Uniquement des messages. Avec un peu d'imagination on peut aller plus loin...

-Description
D'un point de vue script, le principe est qu'une varaible globale contiendra le nom de la police à utiliser pour le message...
tant qu'elle n'a pas de valeur spéciale, le texte est en Arial, taille 22...


Pour faire un effet de langue ou d'accent:
Plutôt que d'écrire du charabia, pour simuler une langue, vous écrirez le texte normalement, mais c'est la police.
Qui elle fera n'importe quoi, mélanger les lettres, utiliser un autre alphabet... (les idées ne manque pas)
Pour traduire, il vous suffira de retourner à une police normale.


-Le script

Code:

#==============================================================================
#
#  Vincentmhd 23/05/09
#
#
#Avant un message affectez dans un appel de script
#à $fontName le nom de la police entre guillemets
#et à $fontSize la taille de la police
#
#vous pouvez jouer alors avec les conditions
#
#Par défaut $fontName prend comme valeur "Arial"
#                $fontSize prend comme valeur 22
#Ainsi vous sauve les meubles si la police est manquante.
#pour modifier les valeurs par défaut allez à la ligne 68.
#
#Pour installer une police sur l'ordinateur du joueur dès l'installation du jeu
#Faites un dossier "Fonts" dans celui de votre projet (aux côtés de Graphics,
#Audio...). Elle s'installera automatiquement
#
#
#===========================================================================
# Surcharge de Window_Message pour changer la police
#===========================================================================
class Window_Message < Window_Selectable

  alias police_add update_message
 
  def update_message
    police_add
    loop do
      c = @text.slice!(/./m)            # Get next text character
      case c
      when nil                          # There is no text that must be drawn
        finish_message                  # Finish update
        break
      when "\x00"                      # New line
        new_line
        if @line_count >= MAX_LINE      # If line count is maximum
          unless @text.empty?          # If there is more
            self.pause = true          # Insert number input
            break
          end
        end
      when "\x01"                      # \C[n]  (text character color change)
        @text.sub!(/\[([0-9]+)\]/, "")
        contents.font.color = text_color($1.to_i)
        next
      when "\x02"                      # \G  (gold display)
        @gold_window.refresh
        @gold_window.open
      when "\x03"                      # \.  (wait 1/4 second)
        @wait_count = 15
        break
      when "\x04"                      # \|  (wait 1 second)
        @wait_count = 60
        break
      when "\x05"                      # \!  (Wait for input)
        self.pause = true
        break
      when "\x06"                      # \>  (Fast display ON)
        @line_show_fast = true
      when "\x07"                      # \<  (Fast display OFF)
        @line_show_fast = false
      when "\x08"                      # \^  (No wait for input)
        @pause_skip = true
      else                              # Normal text character
       
       
        #Ajout de Vincentmhd   

        self.contents.font.name = [$fontName, "Arial"]       
        if $fontSize == nil
          $fontSize = 22
        end
        self.contents.font.size = $fontSize
       
        contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
        c_width = contents.text_size(c).width
        @contents_x += c_width
      end
      break unless @show_fast or @line_show_fast
    end
  end
  end


-Installation

Ce script n'échappe pas à la régle du "copiez en dessous de material".
Il n'a pas de nécéssité particulière.
Compatibilité optimale, puis que ce n'est que l'ajout d'une méthode...

-Utilisation


Dans l'event, inserez:
$fontName= "Nom de la police voulue avec les guillemets"
et si vous voulez:
$fontSize= le nombre voulu.

Pour l'exemple, je vais utiliser la police "Symbol", donc les personnages étrangers parleront le grec ancien...
Un simple screen vous fera tout comprendre:



C'est ultra simple dans mon cas. La fille parle grec si vous n'avez pas le dico...

Il existe bien sûr des variantes plus intéressantes, mais elles demandent un peu plus de ressources, en termes de police.
Je ne les illustre pas dans la démo.
Pour une langue genre Al bhed:
-faites une police bien mélangée de notre alphabet ("o" = "i"...)
-garder toutes les polices intermédiaires...
et à la place de tester la présence du dico, nous allons tester dans les message, une variable "Langage".
-Incrémentez cette variable, au fur et à mesure que vous le désirez (trouver des bouquins, histoire du jeu...)
et en réalité plus cette variable sera élevée plus la police que vous utiliserez sera compréhensible...


-Démo

>> Démo v1


Voilà, c'est tout! (c'est un peu court, mais bon quand le principe est simple...)

-Crédit: Vincentmhd


Dernière édition par vincentmhd le Jeu 3 Sep 2009 - 21:22, édité 10 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ex-Admin-Script
Ex-Admin-Script
avatar


Masculin Age : 35
Inscrit le : 26/05/2008
Messages : 2360

MessageSujet: Re: Police de messages et langages   Lun 30 Mar 2009 - 19:23

Pourquoi est-ce que ton exemple me rappelle vaguement quelque chose?? Wink

Merci du partage.

_________________
Hikari.

«Si je comprenais mieux ce que tu ne comprends pas, ça m'aiderait à t'aider à mieux comprendre.», Hikari
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mirainohikari.deviantart.com
Poulet trizo Lv.3
Poulet trizo Lv.3
avatar


Masculin Age : 20
Inscrit le : 10/10/2010
Messages : 41

MessageSujet: Re: Police de messages et langages   Lun 1 Nov 2010 - 3:07

Probléme line 32/ NoMethodError occurred

undefined method slice!' for nil:NilClass

_________________
Quand le jour se lèvera un nouveau monde sera.

Pas bon la cigarette.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Police de messages et langages   

Revenir en haut Aller en bas
 

Police de messages et langages

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Taille en pixels d'une police fixe
» Mac : problème de police
» Messages non lus
» Boutons nouveaux messages
» [Phanta] Personnalisation du profil (messages)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Tutoriels :: Astuces de maker-
Créer un forum | © phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit