Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Lição 3 - Nossa primeira Classe - Uma Janela
+2
loganout
Nothing
6 participantes
Página 1 de 1
Lição 3 - Nossa primeira Classe - Uma Janela
Antes de começar este tópico quero esclarecer que TODAS as apêndices que
forem colocadas neste fórum só tem como finalidade referência, não
sendo de necessidade explicar ou detalhar seu conteúdo.
Na lição de hoje vamos criar nossa primeira classe.
Abra o RPGMaker Xp e crie um novo projeto. Chame-o como quiser. Abra o Editor de Scripts, e logo acima do Main,
insira uma sessão (botão direito -> Inserir). Nomeie-a como quiser. O
nome das sessões é irrelevante, pois o RGSS lê o seu conteúdo, não seus
nomes.
Na janela do Editor escreva isso:
ser escrito em minúsculas. Mais tarde veremos que o RGSS é
CASE-SENSITIVE (entraremos nos detalhes depois). Note também que estou
definindo nossa classe como filha de Window_Base.
Toda classe pré-inicializada possui como procedimento inicial o initialize. Então logo abaixo do class escreva isso:
Seu código deve estar assim:
Agora vamos usar o procedimento de criação da superclasse, usando a
palavra reservada super, e junto com ela os parâmetros necessários.
PARÂMETROS???
Sim, vamos ver a superclasse para entender isso:
Note que o initialize da classe Window_Base possui dentro dos parênteses
4 vars, separadas por virgulas. Essas vars são os parâmetros, atravéz
dos quais a classe cria a janela, usando seus valores logo abaixo nas
declarações self. A palavra self sempre é usada quando falamos do
próprio objeto, ou seja, relacionado a ele.
Agora que sabemos pra que servem os parâmetros aqui, vamos voltar para nossa janela.
logo abaixo do initialize escreva assim:
Eu peço que escreva e não copie e cole, para que você se habitue a escrever na janela do Editor.
Seu código deve estar assim:
Para podermos visualizar nossa janela, devemos agora fechar as declarações. TUDO que for declarado no RGSS, Módulos, Classes, Funções deve ser fechado com a palavra end. Como temos uma classe e um procedimento abertos, vamos fechá-los. Escreva no código assim:
Agora rode o game. É, eu também gosto do ícone da espada. Repare que
demos uma caminho de arquivo, no caso do bitmap basta dizer o caminho a
partir da pasta do projeto.
Até agora aprendemos que com a classe bitmap (Bitmap.new,
declaração de classe, correto?) comporta tanto texto quanto e imagens.
Ela também comporta os dois juntos, mas para isso, iremos precisar de
outra classe e um módulo. MÓDULO ??
Sim, um módulo é uma pré-definição, como a classe, porém ele não permite instâncias, você não declara @var = modulo.new como é feito com as classes, você chama MODULO::Procedimento. Os módulos serão estudados com mais ênfaze numa próxima lição, agora só veremos o necessário para o que precisamos.
A classe que vamos precisar é o Rect, que significa
retãngulo, a classe Rect cria uma área dentro do bitmap, onde podemos
"desenhar" qualquer coisa. Sua definição é:
Rect.new(x, y, largura, altura)
Então vamos lá. Retorne a linha bitmap para o que era antes, assim:
self.contents = Bitmap.new(width - 32, height - 32)
Logo abaixo dela escreva assim:
Código:
icone = RPG::Cache.icon("001-Weapon01")
rect = Rect.new(0, 0, icone.width, icone.height)
Acabamos de declarar duas variáveis, uma com a imagem do ícone,
onde usamos o módulo RPG::Cache e o procedimento icon, e o nome do
arquivo. A extensão do arquivo é desnecessária, o RGSS gera um erro se a
imagem não for suportada por ele.
A outra contém nosso rect, que é exatamente do tamanho da imagem carregada na var icone.
Agora usaremos mais uma função do self.contents, a função blt. A função blt vai desenhar dentro do rect a imagem que foi carregada na var icone, sua definição é essa:
blt(x, y, bitmap,rect[,opacidade])
Vamos lá. logo abaixo da declaração do rect, coloque isso:
Descomente a linha self.contents.draw_text(4, 0, self.width - 40, 32, "nome", 0) e troque o numero 4 por icone.width + 4.
Seu código deve estar assim:
Agora rode o game. Muito bom !!
CONCLUSÂO:
Começamos a ver hoje como criar uma janela, colocar texto e
figuras. Demos uma leve pincelada nos módulos e nas funções internas da
classe Window.
Eu quero alertar que a partir de agora tanto as lições quanto os
códigos começarão a ficar complexos, por isso, se você realmente tem
interesse em aprender, faça perguntas concisas, programar em RGSS é
muito fácil, mas depende principalmente de atenção e paciência.
Não jogue fora o projeto com o Exemplo da janela, ele será útil
na próxima lição, onde nos aprofundaremos nos procedimentos da classe,
gerando novos resultados e alterações na janela.
Eu farei uma apêndice destacando TODAS as funções das classes
Window e Bitmap, para maior facilidade nas próximas lições.
ruby brasil
forem colocadas neste fórum só tem como finalidade referência, não
sendo de necessidade explicar ou detalhar seu conteúdo.
Na lição de hoje vamos criar nossa primeira classe.
Abra o RPGMaker Xp e crie um novo projeto. Chame-o como quiser. Abra o Editor de Scripts, e logo acima do Main,
insira uma sessão (botão direito -> Inserir). Nomeie-a como quiser. O
nome das sessões é irrelevante, pois o RGSS lê o seu conteúdo, não seus
nomes.
Na janela do Editor escreva isso:
- Código:
class Window_Minha < Window_Base
ser escrito em minúsculas. Mais tarde veremos que o RGSS é
CASE-SENSITIVE (entraremos nos detalhes depois). Note também que estou
definindo nossa classe como filha de Window_Base.
Toda classe pré-inicializada possui como procedimento inicial o initialize. Então logo abaixo do class escreva isso:
- Código:
def initialize
Seu código deve estar assim:
- Código:
class Window_Minha < Window_Base
def initialize
Agora vamos usar o procedimento de criação da superclasse, usando a
palavra reservada super, e junto com ela os parâmetros necessários.
PARÂMETROS???
Sim, vamos ver a superclasse para entender isso:
Note que o initialize da classe Window_Base possui dentro dos parênteses
4 vars, separadas por virgulas. Essas vars são os parâmetros, atravéz
dos quais a classe cria a janela, usando seus valores logo abaixo nas
declarações self. A palavra self sempre é usada quando falamos do
próprio objeto, ou seja, relacionado a ele.
Agora que sabemos pra que servem os parâmetros aqui, vamos voltar para nossa janela.
logo abaixo do initialize escreva assim:
- Código:
super(32,32,120,64)
Eu peço que escreva e não copie e cole, para que você se habitue a escrever na janela do Editor.
Seu código deve estar assim:
- Código:
class Window_Minha < Window_Base
def initialize
super(32,32,120,64)
Para podermos visualizar nossa janela, devemos agora fechar as declarações. TUDO que for declarado no RGSS, Módulos, Classes, Funções deve ser fechado com a palavra end. Como temos uma classe e um procedimento abertos, vamos fechá-los. Escreva no código assim:
- Código:
class Window_Minha < Window_Base
def initialize
super(32,32,120,64)
end
end
Agora rode o game. É, eu também gosto do ícone da espada. Repare que
demos uma caminho de arquivo, no caso do bitmap basta dizer o caminho a
partir da pasta do projeto.
Até agora aprendemos que com a classe bitmap (Bitmap.new,
declaração de classe, correto?) comporta tanto texto quanto e imagens.
Ela também comporta os dois juntos, mas para isso, iremos precisar de
outra classe e um módulo. MÓDULO ??
Sim, um módulo é uma pré-definição, como a classe, porém ele não permite instâncias, você não declara @var = modulo.new como é feito com as classes, você chama MODULO::Procedimento. Os módulos serão estudados com mais ênfaze numa próxima lição, agora só veremos o necessário para o que precisamos.
A classe que vamos precisar é o Rect, que significa
retãngulo, a classe Rect cria uma área dentro do bitmap, onde podemos
"desenhar" qualquer coisa. Sua definição é:
Rect.new(x, y, largura, altura)
Então vamos lá. Retorne a linha bitmap para o que era antes, assim:
self.contents = Bitmap.new(width - 32, height - 32)
Logo abaixo dela escreva assim:
Código:
icone = RPG::Cache.icon("001-Weapon01")
rect = Rect.new(0, 0, icone.width, icone.height)
Acabamos de declarar duas variáveis, uma com a imagem do ícone,
onde usamos o módulo RPG::Cache e o procedimento icon, e o nome do
arquivo. A extensão do arquivo é desnecessária, o RGSS gera um erro se a
imagem não for suportada por ele.
A outra contém nosso rect, que é exatamente do tamanho da imagem carregada na var icone.
Agora usaremos mais uma função do self.contents, a função blt. A função blt vai desenhar dentro do rect a imagem que foi carregada na var icone, sua definição é essa:
blt(x, y, bitmap,rect[,opacidade])
Vamos lá. logo abaixo da declaração do rect, coloque isso:
- Código:
self.contents.blt(0, 0, icone, rect)
Descomente a linha self.contents.draw_text(4, 0, self.width - 40, 32, "nome", 0) e troque o numero 4 por icone.width + 4.
Seu código deve estar assim:
- Código:
class Window_Minha < Window_Base
def initialize
super(32,32,120,64)
self.contents = Bitmap.new(width - 32, height - 32)
icone = RPG::Cache.icon("001-Weapon01")
rect = Rect.new(0, 0, icone.width, icone.height)
self.contents.blt(0, 0, icone, rect)
self.contents.draw_text(icone.width + 4, 0, self.width - 40, 32, "nome", 0)
end
end
Agora rode o game. Muito bom !!
CONCLUSÂO:
Começamos a ver hoje como criar uma janela, colocar texto e
figuras. Demos uma leve pincelada nos módulos e nas funções internas da
classe Window.
Eu quero alertar que a partir de agora tanto as lições quanto os
códigos começarão a ficar complexos, por isso, se você realmente tem
interesse em aprender, faça perguntas concisas, programar em RGSS é
muito fácil, mas depende principalmente de atenção e paciência.
Não jogue fora o projeto com o Exemplo da janela, ele será útil
na próxima lição, onde nos aprofundaremos nos procedimentos da classe,
gerando novos resultados e alterações na janela.
Eu farei uma apêndice destacando TODAS as funções das classes
Window e Bitmap, para maior facilidade nas próximas lições.
ruby brasil
Nothing- Iniciante
- Mensagens : 43
Créditos : 8
Re: Lição 3 - Nossa primeira Classe - Uma Janela
Não aconteceu nada
e o tutorial está incompleto, Acho q quem o colocou nem mesmo o leu nas próximas aulas fala de coisas que vcê nem explicou anteriormente... fica difícil...
Por favor reveja suas aulas, está faltando explicação nessa e mais a frente fala de NPC colocar codigo não sei aonde, não sei pra que, pq vc tbm não citou em nenhuma aula passado sobre esse tal de NPC
flw!!!
e o tutorial está incompleto, Acho q quem o colocou nem mesmo o leu nas próximas aulas fala de coisas que vcê nem explicou anteriormente... fica difícil...
Por favor reveja suas aulas, está faltando explicação nessa e mais a frente fala de NPC colocar codigo não sei aonde, não sei pra que, pq vc tbm não citou em nenhuma aula passado sobre esse tal de NPC
flw!!!
loganout- Novato
- Mensagens : 22
Créditos : 0
Re: Lição 3 - Nossa primeira Classe - Uma Janela
Na verdade não, ele falou que iria ensinar a criar uma janela, e ensinou, a janele está lá, mas quem deseja por algum outro conteúdo dentro, deve pesquisar um pouquinho até achar como por. Pois essa janela ai só tem a imagem de uma espada se não me engano.
_________________
Hatsuki Morturo- Experiente
- Mensagens : 401
Créditos : 50
Re: Lição 3 - Nossa primeira Classe - Uma Janela
Podem me ajudar eu não vi onde ficou a janela
EDIT : Essas lições me ajudaram muito até aprendi a modificar golds iniciais (o coisa besta (porém pra min era muito dificil kkk ))
EDIT : Essas lições me ajudaram muito até aprendi a modificar golds iniciais (o coisa besta (porém pra min era muito dificil kkk ))
Re: Lição 3 - Nossa primeira Classe - Uma Janela
cara, se era pra vce dar aula que desse direito, voce deveria tambem adicionar explicaao sobre a scene
que ja imenda com Windows direto1;
a scene seria que iria chamar a janela e ja a deixar no mapa, coisa que ai voce nao fez!;
@loganout > cara paa voce chamar ajanela tera de ser manualmente crie um evento va na 3 aba e clique em chamar script digite isso Window_Minha.new
ve se janela vai abrir!;
braços
que ja imenda com Windows direto1;
a scene seria que iria chamar a janela e ja a deixar no mapa, coisa que ai voce nao fez!;
@loganout > cara paa voce chamar ajanela tera de ser manualmente crie um evento va na 3 aba e clique em chamar script digite isso Window_Minha.new
ve se janela vai abrir!;
braços
_________________
Para Aqueles que gostam de Min e de meu Trabalho;
Upem Meu Pet nao custa nda!!
- Pet:
Nanzin- Membro de Honra
- Mensagens : 1550
Créditos : 252
Re: Lição 3 - Nossa primeira Classe - Uma Janela
Nanzin escreveu:cara, se era pra vce dar aula que desse direito, voce deveria tambem adicionar explicaao sobre a scene
que ja imenda com Windows direto1;
a scene seria que iria chamar a janela e ja a deixar no mapa, coisa que ai voce nao fez!;
@loganout > cara paa voce chamar ajanela tera de ser manualmente crie um evento va na 3 aba e clique em chamar script digite isso Window_Minha.new
ve se janela vai abrir!;
braços
cara ajudou muito
Guilherme maker 2- Novato
- Mensagens : 25
Créditos : 4
Tópicos semelhantes
» Lição 4 - Modificando nossa Janela - Usando dados variáveis
» Aula 7 - Nossa Primeira Scene
» Variáveis de classe e de instância de classe em Ruby
» Usar somente a primeira Classe
» Movido: Usar somente a primeira Classe
» Aula 7 - Nossa Primeira Scene
» Variáveis de classe e de instância de classe em Ruby
» Usar somente a primeira Classe
» Movido: Usar somente a primeira Classe
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|