O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

RGSS3 Window Base && !Coisas Que Você Deve Saber! Parte I

Iniciado por Mepps, 21/09/2013 às 10:45

21/09/2013 às 10:45 Última edição: 11/09/2016 às 07:42 por King Gerar


RGSS3 Window Base

Olá Pessoal Bem Vindo a Primeira Aula de RGSS3 Hoje iremos Ver um pouco sobre a Window Base
Bom primeiramente você tem que ter em mente que  Window_Base e a Janela Principal  Que gera
muitas outras Janelas , como a Janela de Dinheiro , Janela de ajuda, no caso de Menus, Janela entre
outras Caso você tenha interesse em ver todas as janelas que Herdam da Window_Base deixarei Aqui
Abaixo.


Janelas Apartir da Base

Window_Selectable    <= Janela de Seleção
Window_Help          <= Janela de Help
Window_Gold          <= Janela de Dinheiro
Window_SkillStatus   <= Exibe os Parametros de Habilidade
Window_EquipStatus   <=  Exibe as Mudanças na Aba de Equipamentos
Window_SaveFile      <= Responsável por Imprimir Os Arquivos Salvos
Window_ShopStatus    <= Exibe os Itens possuidos  e os Equipamentos dos Herois
Window_NameEdit      <= Usada Para Editar o nome do Heroi na Tela de Entrada de Nome
Window_NumberInput   <= Utilizada para o Comando de Eventos [Armazenar Numero]
Window_Message       <= Classe Responsavel por Exibir as Mensagens dos Personagens 
Window_ScrollText    <= Exibe Textos Rolante 
Window_MapName    <= Exibe o nome do Mapa


[Aluno Esforçado]

Bem legal não é! a Window_Base Gera Muitas Outras Classes...
Certo Mepps Legal vi que ela  Gera uma Gama enorme de classes(é Herdada)
mais como eu faço para criar um Window??

Bom pessoal Abram o RPG maker e Selecionem a Window_Base
e Logo no Começo Você ja tem as Seguintes Informações,  (\[Linha / 07  - Linha 22 /)

# Cria a Classe Window Base
class Window_Base < Window

# Inicio
def initialize(x, y, width, height)
super
end
end


No momento So isso nos Bastara
Apos ter sido criado a classe, pra inicialização da
janela faz se necessário 4 argumentos, sendo eles

Posição X, = x 
Posição Y, = y
Largura = width
Altura = height



Mais na criação da nossa propria janela nao iremos colocar esses parametros
em conjunto com o initialize iremos usalo no SUPER, o super e um super metodo da
classe que por si so carrega os argumentos  que lhe foram passado

Vamos colocar a Mão Na Massa, e Criar nossa 1 Janela =)
Agora que ja sabemos do que precisamo Ficara Bem Facil =)

Criação
class RNT < Window_Base  #  <= class (seu nome | deve começar com Maiuscula < Window_Base)
def initialize  #  <= Metodo de Inicio (initialize | inicializa)  
super(0,0,200,200)     #<= super(x,y,largura,altura) Apenas Numeros
end     #< = Fim do metodo
end     #< = Fim da Classe



Muito Bem ja temos nossa janela, Mais ela por si so nao Faz nada sozinha, temos
que instancia-la (ou seja Chama-la), Crie um evento e coloque a Opção Chamar Script
e escreve o Seguinte : Nomedasuaclasse::new


no meu caso será
RNT::new


Rode o Game e Fale com o NPC[
Ele te Voltou isso Não Foi?



Otimo Mais como Você deve ter notado noss classe não fica visivel
por muito tempo, isso acontece porque ela so aparece quando for
chamada , agora vamos chama-la constantemente..

Alias | Nao Pode Ser Esquecido nunca

Alias , seria uma Forma de  Você reescrever um metodo ja existente, vamos
a um exemplo , sempre seguindo por essa ordem, Alias metodo_novo metodo_velho

exemplo
class Calculo
def soma(x,y)
@soma = x
puts @soma
end

def s(x,y)
@somar = x + y
puts somar
end
end

calculadora = Calculo::new
calculadora.soma(2,2)
calculadora.s(4,6)


Agora Vou Executar meu Script
ele me retornou 2  e 10,  mais era pra ter me retornado 4 e 10 mais a minha primeira
função esta bugada ela so me retornou o valor de x, enquanto a segunda me retornou
o resultado da adição

agora vamos reescrever essa função usando Alias


class Calculo
def soma(x,y)
@soma = x
puts @soma
end

def s(x,y)
@somar = x + y
puts somar
end
alias :soma , :s
end

calculadora = Calculo::new
calculadora.soma(2,2)
calculadora.s(4,6)


Agora  ele me Voltou o Esperado 4, e 10 outro exemplo tambem,
nos podemos usar o puts.  O puts nos imprimi textos e valores, vamos dar um Alias nele


alias :escreva :puts


agora em vez de usarmos puts podemos usar escreva

escreva "Olá Comunidade"
=> Ola comunidade


e ele vai nos voltar o texto assim como puts faria.
o uso do alias, e sempre uma das grandes sacadas e que ao
usar o alias  nos podemos usar simbolos para pegar metodos


então Vamos Criar um Alias e fazer com que nossa Janela Seja
exibida Sempre no Mapa sem precisar de Eventos

Criando o  Alias(Não vou detalhar isso no momento Veremos Mais a Frente)
apenas cole isso abaixo do script da sua janela!


class Scene_Map < Scene_Base
alias novo_main main
alias novo_update update

def main
@chama = RNT::new  # No lugar de RNT coloca o nome da sua classe
novo_main
@chama.dispose
end

def update
novo_update
@chama.update
end


Seu codigo Deve estar Parecido Com Esse :

class RNT < Window_Base 
def initialize 
super(0,0,200,200)   
end     
end     

class Scene_Map < Scene_Base

alias novo_main main
alias novo_update update

def main
@chama = RNT::new  
novo_main
@chama.dispose
end

def update
novo_update
@chama.update
end
end


Rode o Game e vera que graças ao Alias nossa Janela
Agora Esta Fixa , Bom pessoal Por hoje e Só proxima aula
iremos falar dos metodos da Classe Window_Base entre
outras Coisas.  se você gostou da Aula Clica em +REP
e Deixa um Comentario

Excelente aula [user]Mepps[/user] +Gold
Sistemas por eventos
Mercenário R



Participe do meu projeto
Regnis


Opa, olá mepps  :XD:, gostei bastante da aula, salvarei nos meus favoritos para ler com mais calma depois :3
:linha3:
01110111 01101001 01100011 01100011 01100001
:linha3: