The World of EverGrand
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


 
PortalPortal  InícioInício  ProcurarProcurar  Últimas imagensÚltimas imagens  RegistrarRegistrar  Entrar  

Compartilhe|

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança

Ver o tópico anterior Ver o tópico seguinte Ir para baixo
AutorMensagem
Douglanilo
Douglanilo
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009
Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança 11101010

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Vide http://www.twevergrand.com
MensagemAssunto: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança EmptySáb Abr 18, 2009 12:43 pm

Lição 2 - Classes, Procedimentos e Herança

Para o perfeito endendimento desta lição, é necessário o conteúdo da lição anterior. Vamos lá:

O que são CLASSES ?
Classes são objetos do RGSS que contem os procedimentos necessários para todas as execuções do jogo. Os atores, as armas, itens, mapas, eventos, tudo no RPGMaker é uma classe pré-definida.

Para usarmos as classes, nós as declaramos, em variáveis, exemplo:

$game_party = Game_Party.new

Quando dizemos nomedaclasse.new estamos instanciando a classe nessa variável. Porque? não era só chamar a bendita? Não. Daí vem a orientação a objetos. O objeto Game_Party está lá, pronto para ser usado, mas se você não disser que você quer usá-lo, ele vai continuar lá, esperando...

Tá bom, chamamos a classe, com $game_party = Game_Party.new, e agora? Agora vem a parte interessante. Se você decidir que precisa de outro objeto Game_Party, basta declará-lo de novo, por exemplo:

$game_party_2 = Game_Party.new

Acabamos de instanciar outro objeto Game_Party, com um nome diferente,
o que significa que temos dois objetos, identicos, porém com nomes diferentes, o que vai fazer com que você possa usá-los separadamente,
da maneira que desejar, ou precisar.

Não vou me aprofundar no contexto classe, pois é bem extenso.

Agora que temos duas classes, o que fazer com elas? Vamos usar alguns procedimentos.

PROCEDIMENTOS:
Para o funcionamento da classe, ela deve conter procedimentos, os quais são vitais na maioria das ocasiões.

Veja o exemplo:

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Image003

Aqui, depois de declarada na var $game_party, chamamos o procedimento da classe "item_can-use?", através da sintaxe:

nomedavar.nomedoprocedimento

Vejamos este procedimento dentro da classe:

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Image004

Note que todos os procedimentos começam com def nomedoprocedimento e terminam com end. Nos aprofundaremos nos procedimentos mais tarde.
Há algo muito importante que deve ser falado sobre as classes, antes de detalharmos seu conteúdo. É a herança.

HERANÇA

O RGSS já possui várias classes pré-definidas, como a classe Actors, a classe Window, a classe Sprite, entre outras.
Porém surge a necessidade de termos novos objetos, mais completos ou
com procedimentos diferentes das classes pré-definidas. O que fazer?
Nesse caso usamos a herança, veja o quadro abaixo:

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Image005

TODAS as classes filho estão ligadas diretamente à classe pai, porém umas são filhas de outras, ou seja, aproveitam dos procedimentos gerais (da classe Pai mor) e da classe filha inicial, que também possui novos procedimentos e funções. Mas como declarar quem é pai de quem ou quem é
filho de quem? Simplesmente usando o sinal de < (menor), assim:

class Window_Base < Window
class Window_Selectable < Window_Base
class Window_Command < Window_Selectable

Note que eu fiz uma hierarquia, onde W_Base é filho de Window, W_Selectable é filho de W_Base, e W_Command é filho de W_Selectable.
Mas como usar os procedimentos das classes pai? Para isso usamos a
denominação super().
Todas as vezes que usamos super, estamos atribuindo áquele procedimento
as funções do procedimento pai. Por exemplo, esta é uma parte da classe
Window_Base:
class Window_Base < Window
def initialize(x, y, width, height)
super()
@windowskin_name = $game_system.windowskin_name
self.windowskin = RPG::Cache.windowskin(@windowskin_name)
self.x = x
self.y = y
self.width = width
self.height = height
self.z = 100
end
def dispose
if self.contents != nil
self.contents.dispose
end
super
end


Observe que a palavra super é usada nos dois procedimentos, no initialize e no dispose.
O super é usado aqui para que, nesta classe, estes procedimentos usem
as funções do procedimento da Superclasse (neste caso, a Window) e
tenham mais funções.

Mesmo que uma classe seja filha de outra, você pode ter procedimentos com o mesmo nome, mas com funções diferentes, o que possibilita que a chamada de um procedimento se torne padrão, mas obedecendo a construção do próprio dentro da classe.

CONCLUSÃO:
Nesta lição aprendemos mais um pouco (ou quase nada) sobre Classes, Hierarquia e uma pincelada nos procedimentos. Para evitar confusões, farei uma apêndice destacando as principais palavras reservadas da programação RGSS (como a palavra super).

Na próxima lição falaremos sobre os procedimentos com mais ênfase, e
teremos um exercício, faremos nossa primeira classe, uma janela !!

Créditos e Agradecimentos
João Neto, que criou tutorial
Ir para o topo Ir para baixo
Raygodness
Raygodness
Veterano
Veterano

Masculino Postagens : 404
Data de inscrição : 04/04/2009
Localização : bragança paulista - SP
Emprego/lazer : computadores
Mensagem Pessoal : O que vem por trás, não é mole.
Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança 33101011

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Vide
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança EmptyQua Abr 22, 2009 7:46 pm

gostei! adoro entender as coisas, e issu explica bem, quem sabe eu nao aprenda tanto de rpg que ultrapasse minhas abilidades em ot? lol, impossivel!
Ir para o topo Ir para baixo
Douglanilo
Douglanilo
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009
Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança 11101010

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Vide http://www.twevergrand.com
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança EmptyQua Abr 22, 2009 10:14 pm

Hahaha, vai sonhando.
O RGSS é uma linguagem tão legal, que dá para fazer milhares de coisas nele. Tem mais liberdade do que editar um OT.
Ir para o topo Ir para baixo
Raygodness
Raygodness
Veterano
Veterano

Masculino Postagens : 404
Data de inscrição : 04/04/2009
Localização : bragança paulista - SP
Emprego/lazer : computadores
Mensagem Pessoal : O que vem por trás, não é mole.
Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança 33101011

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Vide
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança EmptyQui Abr 23, 2009 3:03 pm

+mas meu conhecimento com os scripts do ot, com os mapas... id... e tambem meu conhecimento geral sobre tibia, seria necessario meses, ou até mais, pois sei quase tudo no ot, exceto na minha parte "maper"
Ir para o topo Ir para baixo
Douglanilo
Douglanilo
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009
Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança 11101010

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Vide http://www.twevergrand.com
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança EmptyQui Abr 23, 2009 3:14 pm

O RPG Maker é divido em várias classes, incluindo Mapper, é difícil ver alguém com todas as características. A não ser que o DE seja o mestre dos mestres.
DE = Desert Eagle
Ir para o topo Ir para baixo
Conteúdo patrocinado




Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Vide
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Empty

Ir para o topo Ir para baixo

Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança

Ver o tópico anterior Ver o tópico seguinte Ir para o topo
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
The World of EverGrand :: Programação em Linguagens :: Ruby Game Scripting System :: Discussão-