AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



-20%
Le deal à ne pas rater :
-20% sur le Lot de 2 écrans PC GIGABYTE 27″ LED M27Q
429 € 539 €
Voir le deal

Partagez
 

 [VX] Fenêtre de message plus petite

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité
avatar



[VX] Fenêtre de message plus petite Empty
MessageSujet: [VX] Fenêtre de message plus petite   [VX] Fenêtre de message plus petite Icon_minitimeMer 10 Oct 2012 - 11:00

Voici une petite modification d'un script de base du RGSS2. J'ai constaté que pour ce qui est du Screenshowte et autre concours de maps, les screens sont généralement peu lisibles si on y ajoute un message, vu toute la place que ça prend.

Voici donc une petite modification de Game_Message (rien de bien sorcier, on change juste des nombres) afin d'afficher des messages sur une deux lignes seulement au lieu de 4.

Cependant, pour afficher des faces, il est nécessaire d'avoir un faceset réduit, ou les visages sont de taille 48*48, de cette taille là :

[VX] Fenêtre de message plus petite Actor4

Code (à coller au-dessus du Main, comme d'habitude)
Code:

class Window_Message
  #--------------------------------------------------------------------------
  # * Constants
  #--------------------------------------------------------------------------
  MAX_LINE = 2                            # Maximum number of lines
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 336, 544, 80)
    self.z = 200
    self.active = false
    self.index = -1
    self.openness = 0
    @opening = false            # WIndow opening flag
    @closing = false            # Window closing flag
    @text = nil                # Remaining text to be displayed
    @contents_x = 0            # X coordinate for drawing next character
    @contents_y = 0            # Y coordinate for drawing next character
    @line_count = 0            # Line count drawn up until now
    @wait_count = 0            # Wait count
    @background = 0            # Background type
    @position = 2              # Display position
    @show_fast = false          # Fast forward flag
    @line_show_fast = false    # Fast forward by line flag
    @pause_skip = false        # Input standby omission flag
    create_gold_window
    create_number_input_window
    create_back_sprite
  end
  #--------------------------------------------------------------------------
  # * New Page
  #--------------------------------------------------------------------------
    def new_page
    contents.clear
    if $game_message.face_name.empty?
      @contents_x = 0
    else
      name = $game_message.face_name
      index = $game_message.face_index
     
    size = 48
    bitmap = Cache.face(name)
    rect = Rect.new(0, 0, 0, 0)
    rect.x = index % 4 * 48 + (48 - size) / 2
    rect.y = index / 4 * 48 + (48 - size) / 2
    rect.width = size
    rect.height = size
    self.contents.blt(0, 0, bitmap, rect)
    bitmap.dispose
     
     
    @contents_x = 64
    end
    @contents_y = 0
    @line_count = 0
    @show_fast = false
    @line_show_fast = false
    @pause_skip = false
    contents.font.color = text_color(0)
  end
  #--------------------------------------------------------------------------
  # * New Line
  #--------------------------------------------------------------------------
  def new_line
    if $game_message.face_name.empty?
      @contents_x = 0
    else
      @contents_x = 64
    end
    @contents_y += WLH
    @line_count += 1
    @line_show_fast = false
  end
  #--------------------------------------------------------------------------
  # * Set Window Background and Position
  #--------------------------------------------------------------------------
    def reset_window
    @background = $game_message.background
    @position = $game_message.position
    if @background == 0  # Normal window
      self.opacity = 255
    else                  # Dim Background and Make it Transparent
      self.opacity = 0
    end
    case @position
    when 0  # Top
      self.y = 0
      @gold_window.y = 360
    when 1  # Middle
      self.y = 144
      @gold_window.y = 0
    when 2  # Bottom
      self.y = 336
      @gold_window.y = 0
    end
  end
  #---------------------------------------------------------------
  # * Start Number Input
  #--------------------------------------------------------------------------
  def start_number_input
    digits_max = $game_message.num_input_digits_max
    number = $game_variables[$game_message.num_input_variable_id]
    @number_input_window.digits_max = digits_max
    @number_input_window.number = number
    if $game_message.face_name.empty?
      @number_input_window.x = x
    else
      @number_input_window.x = x + 64
    end
    @number_input_window.y = y + @contents_y
    @number_input_window.active = true
    @number_input_window.visible = true
    @number_input_window.update
  end
  #--------------------------------------------------------------------------
  # * Update cursor
  #--------------------------------------------------------------------------
  def update_cursor
    if @index >= 0
      x = $game_message.face_name.empty? ? 0 : 64
      y = ($game_message.choice_start + @index) * WLH
      self.cursor_rect.set(x, y, contents.width - x, WLH)
    else
      self.cursor_rect.empty
    end
  end
end

Screen :
[VX] Fenêtre de message plus petite ScreenScript
Revenir en haut Aller en bas
RitoJS
Modérateur
Modérateur
RitoJS


Masculin Age : 29
Inscrit le : 22/12/2011
Messages : 1600

[VX] Fenêtre de message plus petite Empty
MessageSujet: Re: [VX] Fenêtre de message plus petite   [VX] Fenêtre de message plus petite Icon_minitimeMer 10 Oct 2012 - 11:24

J'aime bien. Merci du partage. Smile
Revenir en haut Aller en bas
http://lunarito.wordpress.com/
Invité
Invité
avatar



[VX] Fenêtre de message plus petite Empty
MessageSujet: Re: [VX] Fenêtre de message plus petite   [VX] Fenêtre de message plus petite Icon_minitimeMer 10 Oct 2012 - 12:17

C'est rigolo je l'avais fait aussi pour mon projet Smile
(Mais en RGSS3 c'est plus court Smile )
Revenir en haut Aller en bas
Nina2
Illusionniste Lv.12
Illusionniste Lv.12
Nina2


Féminin Age : 28
Inscrit le : 20/08/2012
Messages : 743

[VX] Fenêtre de message plus petite Empty
MessageSujet: Re: [VX] Fenêtre de message plus petite   [VX] Fenêtre de message plus petite Icon_minitimeMer 10 Oct 2012 - 12:19

Ah oui pas mal ! Merci du partage !
Revenir en haut Aller en bas
Rai The One
Noble Lv.8
Noble Lv.8
Rai The One


Masculin Age : 38
Inscrit le : 23/08/2008
Messages : 228

[VX] Fenêtre de message plus petite Empty
MessageSujet: Re: [VX] Fenêtre de message plus petite   [VX] Fenêtre de message plus petite Icon_minitimeMer 10 Oct 2012 - 18:00

Cool, ça pourrait être sympa, merci ^^
Je l'essaierait bien pour voir ce que ça donne Very Happy
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Fenêtre de message plus petite Empty
MessageSujet: Re: [VX] Fenêtre de message plus petite   [VX] Fenêtre de message plus petite Icon_minitime

Revenir en haut Aller en bas
 

[VX] Fenêtre de message plus petite

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

 Sujets similaires

-
» Agrandissement fenetre message
» Résolu demande une aide sur une fenêtre de message
» Afficher le résultat d'un script dans une fenetre de message
» Création d'une petite fenêtre de menu.
» fenetre fille dans fenetre mére [resolu]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Évents & PNJs-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit