segunda-feira, 13 de julho de 2009

Básico - Aula 1

Lancei a Bíblia do RGSS, para baixá-la, clique aqui.

Essas aulas básicas estarão sendo lançadas para aqueles com nível 0 em RGSS, podem acompanhar também pela Bíblia.

O que é uma POO?
----------------

POO significa Progamação orientada a objetos, ou seja, uma linguagem onde o objeto é o principal papel do código.

O que é um objeto?
-------------------

Um objeto é uma coisa que representa algo, ou seja, uma variável que representa uma coisa.
Por exemplo, o menu possui janelas, como a de tempo, dinheiro, comando e dos personagens. Cada janela dessas é um objeto. A cena do menu é uma Scene que engloba e interage com esses objetos.

Para que o uso deles?
---------------------

Bem, eles são o principal meio de interação, por exemplo, para criarmos uma janela, precisamos criar uma variável que represente-a num outro script.

@variável = Window_Gold.new(50, 50)

Neste exemplo vimos que a variável @variável representa a janela de dinheiro. Quando se declara uma classe, deve-se sempre chamá-la com .new e o argumento em seguida (se necessário).

O que é um argumento?
----------------------

Um argumento é um valor pedido pela classe para ser usado em qualquer coisa, desde o seu tamanho, como posição X e Y. No caso da janela de dinheiro, os valores 50 e 50 representam a posição X e Y. Para ver porque, vá no script Window_Gold e veja que no def initialize há isso:

def initialize(x, y)

Agora avancemos para as variáveis.

Tipos de variáveis
-------------------

Elas são os objetos, logo se vê a importância delas nos scripts. Para representar qualquer coisa, desde números, letras até as classes, usamos elas.

Podem ser representadas da seguintes formas:

variavel_local = "olá" # variável local, funciona apenas no próprio método
@variavel_instacia = 5 # variável de instância, serve para a classe toda
$variavel_global = [] # variável global, serve para todas as classes

Os valores das variáveis
-------------------------

Os valores são o que declaramos nelas, por exemplo, se declararmos @var = 10, então o valor da variável @var é 10, logo é um Integer. Agora se declararmos @exemplo = "oi", então vimos que esta variável é uma String.

String => textos, representado dentro de aspas
Integer => Números inteiros, negativos e positivos
Float => Números flutuantes, decimais
Pseudo-variáveis => nil, true, false, self
Classes => Referem-se a uma classe
Array => Referem-se a uma Array
Hash => Referem-se a uma Hash

Há outros valores também, porém só há necessidade de mostrar esses. Existem também sub classes da Integer: Fixnum e Bignum.

Pseudo-Variáveis
----------------

São valores especiais.

Self => O atual objeto. Por exemplo, nas janelas há o self.contents
True => Indica um valor positivo
False => Indica um valor negativo
nil => Indica um valor nulo (não confundir com zero)

True e False são a mesma coisa que nas Switchs ON e OFF.

Constantes
----------

São valores que não são alterados como as variáveis. Representa-se com a inicial maiúscula.
Variavel = 55; VARIAVEL = "OI"; CoNsTaNtE = [1,2,3]

Atenção: São case-sensitive, ou seja, a é diferente de A.

Agora que você já sabe o que são variáveis e como usá-las, vamos avançar mais.

Os Métodos
-----------

Métodos são a principal estrutura do script. Eles dizem o que o script deve fazer, precisamos ser bem precisos nessa questão. Cada classe tem seu método, outras classes herdam métodos.

Herança
--------

Herança nada mais é do que uma classe filha herdar métodos da mãe. Isso serve para não escrevermos tudo novamente para cada classe. Como é o caso da Window_Base, ela é a mãe de toda Window. Representamos a herança desse modo: Window_Qualquer < Window_Base. Lembrando que pode-se mudar a mãe, no caso foi só um exemplo. Pode-se por qualquer classe existente para ser mãe, outro exemplo é no VX, que há a Scene_Base, onde toda Scene herda os métodos dela.

Estrutura dos Scripts
----------------------

Todo script, deve começar com a palavra class e acabar com o end.

class Exemplo
end

Criamos uma classe, mas ela não tem nada, é claro. Vamos colocar alguma coisa.

class Exemplo
def initialize
@a = 5
aumentar(10)
end
def aumentar(valor)
@a += valor
end
end

Neste exemplo, a classe tem 2 métodos, o initialize, que é o padrão (o seu nome nunca muda), que serve para inicializar. Nele há uma configuração, declaramos a variável @a como uma Integer, de valor 5, logo em seguida, chamamos o método aumentar, que necessita de um argumento. No def aumentar, o argumento é a variável valor, que como vemos, ela aumenta a variável @a em 10 (porque eu chamei o método aumentar com o argumento valor = 10).

Variáveis locais e Métodos
---------------------------

Há uma confusão com iniciantes em RGSS, pelo fato de serem iguais os métodos e variáveis locais. Mas há diferenças. Quando chamamos um método, o chamamos sem nenhuma igualdade, apenas o seu nome e argumento, se ele possuir.

aumentar(500) # chamamos o método aumentar
aumentar = 500 # declaramos a variável aumentar como 500

0 comentários: