Visitante!
Faça seu Login ou Registre-se!

Galeria de Jogos

RGSS3 Window Base && !Coisas Que Você Deve Saber! Parte I 3 Respostas | 720 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

Mepps

  • *
  • Mensagens: 112 Ouro: 27
  • "Dentro do possivel, Tudo é possivel"
    • RPG Maker VX/Ace
    • Facebook
    • Ver perfil
    • E-mail
  • Colossus


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

Código: [Selecionar]
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 /)

Código: [Selecionar]
# 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

Código: [Selecionar]
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
Código: [Selecionar]
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á
Código: [Selecionar]
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
Código: [Selecionar]
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


Código: [Selecionar]
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


Código: [Selecionar]
alias :escreva :puts
agora em vez de usarmos puts podemos usar escreva

Código: [Selecionar]
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!


Código: [Selecionar]
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 :

Código: [Selecionar]
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
« Última modificação: 11 Set 2016, 07:42 por King Gerar »

raffa

  • *
  • Mensagens: 63 Ouro: 19
  • Um rei jamais perde sua majestade!
    • RPG Maker VX/Ace
    • Ver perfil
    • E-mail
RGSS3 Window Base && !Coisas Que Você Deve Saber! Parte I
Resposta 1 Online: 06 Set 2016, 03:55
Excelente aula +Gold
Sistemas por eventos
Mercenário R

Participe do meu projeto
Regnis

Resque

  • *
  • Mensagens: 77 Ouro: 46
    • RPG Maker VX/Ace
    • Ver perfil
  • BreaklanceNightwisher
RGSS3 Window Base && !Coisas Que Você Deve Saber! Parte I
Resposta 2 Online: 06 Set 2016, 10:03
Muito bom! Gostei bastante.

Prand

  • *
  • Mensagens: 300 Ouro: 130

    Participantes do Maps Together 2

  • -Desativado!-
    • RPG Maker VX/Ace
    • Ver perfil
    • E-mail
  • Engrenagem Antiga
RGSS3 Window Base && !Coisas Que Você Deve Saber! Parte I
Resposta 3 Online: 06 Set 2016, 12:02
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:

 

Versão Mobile