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

Compartilhe
 

 [RGSS] Lógica do RGSS

Ir em baixo 
AutorMensagem
Ray
Administrador
Administrador
Ray

Mensagens : 119
Data de inscrição : 15/03/2010
Idade : 24
Localização : in your nightmare!

[RGSS] Lógica do RGSS Empty
MensagemAssunto: [RGSS] Lógica do RGSS   [RGSS] Lógica do RGSS Empty26/3/2010, 12:10 pm

Lógica do RGSS

Nesse tutorial vou explicar o basico e necessario da programação com classes e objetos em RGSS. vai servir pra você que não sabe programar nada em RGSS ou que quer aprender mais sobre como funcionam as coisas nos scripts e na lógica da programação orientada a objetos.

Se você não sabe sobre nada de programação em RGSS: nesse tutorial você vai começar a aprender, mas lembre-se, o trabalho de ficar bom em RGSS é seu, todos os tutorial só te explicam os passos pra você praticar mais sem depender de ninguem.
Se você sabe programar: esse tutorial vai ser bem fácil.

Nos proximos tutoriais que vou me especializar em criação de scripts para o RPG Maker VX, aqui estou mostrando um começo para facilitar aos proximos tutoriais.

Lição 1 - Entenda os termos
Classe: a classe representa um conjunto de objetos e define o comportamento desses através de métodos.
Objeto: um objeto é capaz de reagir e enviar "mensagens" de acordo com a necessidade a qual foi programado.
Métodos: é por onde o objetos reagem as mensagens, os métodos são todas as opções de programação que a linguagem oferece.
Herança: é por onde uma classe pode se estender a outra, tendo acesso a suas funções (sua super-classe) (exemplo: Window_Selectable que herda as caracteristicas da Window_Base). Também existem a Herança multipla, que é quando uma classe possui mais de uma super-classe (exemplo: Window_Command).
Interface: é o contato da classe com o mundo externo (exemplo: Scenes).
String: é o termo usado para dizer que uma variável é formada de texto.
Int: é o termo usado para dizer que uma variável é formada por números.


Lição 2 - Estrutura de uma classe
Variáveis de classe: são variáveis que podem ser acessadas tanto dentro quanto fora da classe, com ou sem herança, por isso não importante. São as variáveis que começam com um attr loog abaixo do nome das classes (veja isso nos scripts Game_). Existem 3 tipos: accessor, writer e reader. no attr_accessor você tem a capacidade de ler e modificar as informações da variáveis, na attr_writer você pode somente atribuir um valor sem poder altera-lo (ou seja, completamente inútil) e na attr_reader você somente não pode alterar o valor atribuido inicialmente. Os valores iniciais dessas variáveis são atribuidos na primeira função de classe a ser lida, initialize (vamos ver isso mais abaixo).

Funções: as funções no RGSS são os defs, são dentro deles que a classe "ganha vida". No RGSS existem defs que são lidos assim que a classe é chamada, eles são o initialize, main e start (o initialize lê primeiro) (no VX agora é mais usado start que main, que é consequencia das "coisas prontas" que vieram). E agora temos o terminate que é uma novidade que veio com o VX, ele é a função que é lída quando a variável $scene é alterada (vamos ver isso em outro tutorial).
O initialize é a função operada assim que o script é criado, então é por ele que se define os valores das variáveis de classe.
O main (não mais utilizado no VX, somente utilizado no Scene_Base (também novo script do VX)) é operado assim que a função é chamada, por isso que os valores das variáveis devem er postar no initialize. É pelo main que antigamente nós acessavamos outras funções da classe/super-classe.
O start é o novo main do VX utilizado nas Scenes (scripts de interface), é por ele que as scenes ganham vida o que irei explicar como fazer em outro tutorial e também como ela funciona.
Não é obrigatório uma classe possuir a função initialize.

Lição 3 - Acessando funções
As funções criadas nas classes podem ser acessadas dentro das próprias funções da classe (utilizado no start dos scenes) e por variáveis que iniciação a classe (assim que acessamos as funções dos Game_s).
Acessando as funções pela própria classe basta chamar pelo seu nome. Acessar as funções por variáveis, é necessario ter o nome da variável que a classe foi atribuida, um ponto e o nome da função.

Lição 4 - Prática
Aqui um simples exemplo de extrutura de classe, função e acessando classes:
Código:
class Script_Test
  #criando variável de classe
  attr_accessor :nome
 
  #acessando a variável de classe
  def initialize
    #nome dado a variável
    @nome = "Firewords"
  end
 
  #função para acessar a outra função
  #é totalmente disnecessario isso, poderia ir direto,
  #mas aqui é só um exemplo
  def alterar_nome
    mudando
  end
 
  #função para modificar a variável
  def mudando
    @nome = "Leonardo" #alterando variável de classe
  end
 
end

@classe = Script_Test.new
print @classe.nome
@classe.alterar_nome
print @classe.nome

Lição 5 - Praticando mais
Agora que você já sabe o basico, nós vamos utilizar uma classe com herança para você entender melhor alguns métodos. E vai aprender também o método de retorno que é indispensável para criação de scripts.
Código:
class Soma
  attr_accessor :soma
  def initialize
    @soma = 0
  end
 
  def somar(v1, v2)
    return v1 + v2
  end
 
end

class Teste < Soma
 
  def Valor
    var1 = rand(10) #valor aleatorio de 0 a 10
    var2 = rand(10)
    @valor = somar(var1, var2)
    print @valor
  end
end
O return serve basicamente para retornar valores. Você manda informações para uma função e seus métodos executam ela do jeito que você programou e então acontece o retorno do resultado. Uma função que tem retorno deve sempre estar sempre igualada a uma variável (como mostra no exemplo) ou a uma condição.


Créditos: Firewords


Staff - AlphaMakers
[RGSS] Lógica do RGSS Userbar_-_alphamakers-7cT7I

Dicas:
•Sempre respeite as regras;
•Não faça floods;
•Respeite os outros membros, independente de quem seja;
•Viva a vida;

Voltar ao Topo Ir em baixo
Ver perfil do usuário http://alphamaker.forumeiros.com/forum.htm
BleavBr
Equipe
Equipe
BleavBr

Mensagens : 31
Data de inscrição : 01/04/2010
Idade : 24

[RGSS] Lógica do RGSS Empty
MensagemAssunto: Re: [RGSS] Lógica do RGSS   [RGSS] Lógica do RGSS Empty16/4/2010, 8:38 pm

Cara, esse tuto tá muito bom,é claro que não vamos sair criando qualquer tipo de script com esse tuto,mas ele está demais,me ajudou. :rindo: :rindo:
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Luucky
Administrador
Administrador
Luucky

Mensagens : 111
Data de inscrição : 15/03/2010
Idade : 23
Localização : N.O.P.C

[RGSS] Lógica do RGSS Empty
MensagemAssunto: Re: [RGSS] Lógica do RGSS   [RGSS] Lógica do RGSS Empty22/4/2010, 10:53 pm

Bom Ray o tutorial esta demais bom irei criar meu tutoriais tambem@^^


[RGSS] Lógica do RGSS Happysain
[RGSS] Lógica do RGSS M4c

Staff - AlphaMakers

Alpha Makers Evolution
São detalhes que fazem toda a diferença.

Ei, maker!
[RGSS] Lógica do RGSS 2546f
[RGSS] Lógica do RGSS 734845png
Estamos trabalhando numa novidade para você.
Outro lugar para mostrar os jogos que você faz. Topa?
http://Luucasilva.mf.vostu.com HELP@
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://alphamaker.forumeiros.com
Conteúdo patrocinado




[RGSS] Lógica do RGSS Empty
MensagemAssunto: Re: [RGSS] Lógica do RGSS   [RGSS] Lógica do RGSS Empty

Voltar ao Topo Ir em baixo
 
[RGSS] Lógica do RGSS
Voltar ao Topo 
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
AlphaMakers Evolution :: Área de Aprendizagem :: RGSS/RGSS2-
Ir para: