Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy

Participe do fórum, é rápido e fácil

Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy
Life RPG Maker 2.0
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Life RPG Maker 2.0

2ª versão do forum life rpg maker

Os membros mais ativos do mês
Nenhum usuário

Últimos assuntos
» Kingdon 1.6
Mensagem de Aviso EmptyTer Jun 09, 2015 3:02 pm por MasterKill

» Tempo dinâmico e Hora do Sistema
Mensagem de Aviso EmptySeg Dez 09, 2013 5:42 pm por jonathas

» Sistema de Natação
Mensagem de Aviso EmptySáb Dez 07, 2013 5:14 pm por jonathas

» Classificar Inventario
Mensagem de Aviso EmptySáb Dez 07, 2013 12:07 pm por Samuka_Adm

» VOLTEI ALELUIA :D
Mensagem de Aviso EmptySáb Dez 07, 2013 10:35 am por Samuka_Adm

» Netplay Master v4.0.7
Mensagem de Aviso EmptyQua Jun 26, 2013 1:32 pm por xdario

» The League Of War [Season 1]
Mensagem de Aviso EmptySex Jan 18, 2013 6:02 pm por Warrior

» Meu primeiro desenho que posto :D
Mensagem de Aviso EmptyQua Jan 09, 2013 1:37 pm por PedroMatoso

» Window Configurações
Mensagem de Aviso EmptyQua Jan 09, 2013 1:36 pm por PedroMatoso

Parceiros
Fórum grátis

Fórum grátis


Mundo RPG Maker
MMORPG BRASIL

Você não está conectado. Conecte-se ou registre-se

Mensagem de Aviso

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Mensagem de Aviso Empty Mensagem de Aviso Seg Nov 19, 2012 1:24 pm

leandroteix

leandroteix
Moderador G
Moderador G


Uma janela como videogames clássicos sim / não
Eu criei este roteiro há muito tempo para um dos meus menus e qualquer outro projeto. É muito flexível
e pode ser utilizado para uma série de coisas. Ele usa uma janela modificada + combinação de sprite
Porque eu acho que fica melhor, de qualquer forma, você pode modificá-lo ou fazer o que quiser.

-A dimensão e posição da janela é baseada no tamanho do texto.
-Autocenter na tela se nenhuma posição especificada.
-Todos os outros tamanhos ou posições são definidas automaticamente.
-Você pode definir o índice padrão utilizado e alguns outros valores.
-Ele tem métodos para automaticamente visíveis / invisíveis, dispor, esconder, etc, todos os sprites
e janelas.
-Você pode adicionar uma pergunta a ele. Com este uma versão modificada de um comando da janela
é ativado.
-Você pode alterar o texto, pergunte opção, X e Y, em cada chamada.
-Você pode usá-lo para fins múltiplos em uma cena signle. Por que você tem que
changue o valor que especifica message_type wich das formas de ser utilizada
é agora.

Screen:
Spoiler:

Código:


#==============================================================================
# Warning message
# By gerkrt/gerrtunk
# Version: 1.3
# License: MIT, credits
# Visit this for my other scripts and updates: [url]http://pastebin.com/u/gerkrt[/url]
#==============================================================================

=begin
 
Características:
 
Eu criei este roteiro há muito tempo para um dos meus menus e qualquer outro projeto. É muito flexível
e pode ser utilizado para uma série de coisas. Ele usa uma janela modificada + combinação de sprite
Porque eu acho que fica melhor, de qualquer forma, você pode modificá-lo ou fazer o que quiser.
 
-A dimensão e posição da janela é baseada no tamanho do texto.
-Autocenter na tela se nenhuma posição especificada.
-Todos os outros tamanhos ou posições são definidas automaticamente.
-Você pode definir o índice padrão utilizado e alguns outros valores.
-Ele tem métodos para automaticamente visíveis / invisíveis, dispor, esconder, etc, todos os sprites
e janelas.
-Você pode adicionar uma pergunta a ele. Com este uma versão modificada de um comando da janela
é ativado.
-Você pode alterar o texto, pergunte opção, X e Y, em cada chamada.
-Você pode usá-lo para fins múltiplos em uma única cena. Por que você tem que
changue the message_type value that specifies wich of the ways of being used
is now. For example:
@warning_message.refresh('Are you sure to exit?')
@warning_message.message_type = :asking_for exit. 

Note that you can also pass that ass a extra parameter for the refresh method.

=end

class Warning_Message
  @@default_x = 200
  @@default_y = 200
  @@default_z = 200
  @@selection_options = ["Si", "No"]
  @@default_option = 1
  @@default_message_type = :normal
 
  attr_accessor  :message_type  # Use isso para diferentes usos na mesma cena.
  attr_accessor  :active        # Isto especifica se todos a janela está ativa ou não
 
  def initialize()
    @message_type = @@default_message_type # Default value for the basic option.
    @active = false

    # Default values when refreshing it
    @default_x = 200
    @default_y = 200
    # Back text window. This is used only as a back window to simulate rpgmaker ones.
    @text_window = Window_Base.new(120, 136, 400, 64)
    @text_window.z = 252
    @text_window.visible = false
    # Text sprite. The text where is drawn the refreshed text.
    @text_sprite = Sprite.new
    @text_sprite.z = 254
    @text_sprite.x = 120
    @text_sprite.y = 136
    @text_sprite.bitmap = Bitmap.new(400,64)
    # Testing bitmap for size test
    @testing_bitmap =  Bitmap.new(1,1)
    # Question window. A modified version of window command its wich have the
    # yes/no options.
    @question_window = Window_Selection.new(80, @@selection_options)
    @question_window.x = 280
    @question_window.y = 200
    @question_window.z = 253
    @question_window.index = @@default_option
    @question_window.back_opacity = 0
    @question_window.opacity = 0
    @question_window.active = false
    @question_window.visible = false
    # Back question window. Used to simulate the rpgmaker back window.
    @back_question_window = Window_Base.new(120, 136, 64, 64)
    @back_question_window.x = 280
    @back_question_window.y = 200
    @back_question_window.z = 254
    @back_question_window.visible = false
  end
 
  # Make all the sprites/windows visibles
  def visible
    @text_window.visible = true
    @text_sprite.visible = true
    # Question ones only if active
    if @question_window.active
      @question_window.visible = true
      @back_question_window.visible = true
    end
  end
 
  # Make all the sprites/windows invisibles
  def no_visible
    @text_window.visible = false
    @text_sprite.visible = false
    @question_window.visible = false
    @back_question_window.visible = false
  end
 
  # Is question window active?. Only works for the yes/no option.
  def question_active
    return @question_window.active
  end
 
  # Set question window active. Only works for the yes/no option.
  def question_active=(value)
    @question_window.active = value
  end
 
  # Update all the sprites/windows visibles
  def update
    @text_window.update
    @text_sprite.update
    @back_question_window.update
    @question_window.update
  end
 
  # Get if yes or no when using two options
  def is_Yes?
    if @question_window.index == 0
      true
    else
      false
    end
  end
 
  # Get question index
  def index
    @question_window.index
  end
 
  # Set question index
  def index=(value)
    @question_window.index = value
  end
   
 
  # Desenhe a mensagem de aviso. Você tem que usar esse método para mostrar a janela
  # mensagem de mudança de cada vez. Note que você pode alterar as opções padrão e
  # também especificar diretamente o tipo de mensagem diretamente aqui.
  # pergunta: chamado para adicionar um sim / não janela.
  def refresh(message, question=true, message_type=@@default_message_type, x=@default_x,
      y=@default_y)
   
    # Basic position settings
    @text_window.y = y
    @text_window.x = x
    @text_sprite.x = x
    @text_sprite.y = y
    rect = @testing_bitmap.text_size(message)
    @active = true
   
    # With question window or not. All the positions auto-setting are done here.
    if question
      @question_window.active = true
      @text_window.width = rect.width+26+40
      #@question_window.visible = true
      @question_window.active = true
      @question_window.index == @@default_option
      #@back_question_window.visible = true
      @question_window.x = @text_window.x+rect.width+4+6
      @question_window.y = @text_window.y - 16
      @back_question_window.x = @text_window.x+rect.width+4+16
      @back_question_window.y = @text_window.y
    else
      @text_window.width = rect.width+26
    end
    @message_type = message_type
    visible
    # First update the back window
    @text_window.update
    @text_sprite.bitmap.clear
    # Draw text
    @text_sprite.bitmap.draw_text(0+10,0,400,64,message, 0)
    @text_sprite.update
  end
 
  # Hide window and make inactive all. Use this to stop using the message each
  # time
  def hide
    no_visible
    @active = false
    @question_window.active = false
  end
 
  # Dispose all the sprites/windows visibles
  def dispose
    @text_window.dispose
    @text_sprite.dispose
    @question_window.dispose
    @back_question_window.dispose
  end
end
 
# Modified to shown horizontal.
class Window_Selection < Window_Command
  #--------------------------------------------------------------------------
  # * Update Cursor Rectangle
  #--------------------------------------------------------------------------
  def update_cursor_rect
    # If cursor position is less than 0
    if @index < 0
      self.cursor_rect.empty
      return
    end
    # Get current row
    row = @index / @column_max
    # If current row is before top row
    if row < self.top_row
      # Scroll so that current row becomes top row
      self.top_row = row
    end
    # If current row is more to back than back row
    if row > self.top_row + (self.page_row_max - 1)
      # Scroll so that current row becomes back row
      self.top_row = row - (self.page_row_max - 1)
    end
    # Calculate cursor width
    cursor_width = (self.width / @column_max - 32)+11
    # Calculate cursor coordinates
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 32 - self.oy
    # Update cursor rectangle
    self.cursor_rect.set(x-4, y, cursor_width, 32)
  end
 
end

Créditos:
Gerkrkt- Por Criar
Leandro(Eu) - Por traduzir o tópico+script e disponibilizar para vcs^^

2Mensagem de Aviso Empty Re: Mensagem de Aviso Seg Nov 19, 2012 1:37 pm

Samuka_Adm

Samuka_Adm
Admin
Admin

LOL, eu gostei, pensei em faser um desses mas nunca tentei *-* parece ke nosso amigo Gerkrkt fes um bom trabalhoo, +1cred

https://liferpgmakerv2.forumeiros.com

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos