PortalPortal  InícioInício  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  Conectar-se  

Compartilhe|

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

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

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Sab 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:



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:



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:



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

_________________________________________
Voltar ao Topo Ir em baixo
Raygodness
avatar
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.


Ver perfil do usuário
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Qua 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!
Voltar ao Topo Ir em baixo
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Qua 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.

_________________________________________
Voltar ao Topo Ir em baixo
Raygodness
avatar
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.


Ver perfil do usuário
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Qui 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"
Voltar ao Topo Ir em baixo
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Re: Aprenda RGSS - Lição 2: Classes, Procedimentos e Herança Qui 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

_________________________________________
Voltar ao Topo Ir em baixo
Conteúdo patrocinado




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

Voltar ao Topo Ir em baixo

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

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
The World of EverGrand :: Programação em Linguagens :: Ruby Game Scripting System :: Discussão-