quinta-feira, 6 de novembro de 2008

[RGSS]Episódio #01 - Classes: Assim que tudo se inicia!!

[QUICK CALL (termo meu), “o programa a seguir possui classificação etária livre”, heheheh] Olá á todos! Espero que gostem desses pequenos capítulos da minha vida numa Linguagem de Scripts, o RGSS , só vou adiantar por agora que as lições estarão distribuídas numa seqüência lógica que facilitará o uso das mesmas, na medida de que você precisar irá aprender , e que só aconselho essas lições para quem gosta de ler, pois elas não serão muito curtas, vou querer me aprofundar em exemplos, utilidades, entre outros, o que consome texto, não espere aprender aqui com só uma linha de texto e o resto por sua conta, vou facilitar tudo para vocês! Se consideram-se prontos, então não percamos mais tempo!

INTRO: Eu que já posso me considerar velho de guerra na programação (5 anos é muito tempo, sabia?) estava um dia desses encarando o RGSS -Ruby Game Scripting System, uma linguagem de script que permite o Rpg Maker fazer quase qualquer coisa-, desde o começo do ano que eu tentava aprender (porém com muitos rodeios e perda de tempo...), olha que não era fácil, a linguagem é bem diferentinho do meu tradicional Microsoft Visual Basic para Windows, ao princípio eu não conseguia ler quase nada, mas quando eu olho, o que eu vejo? Classes e mais classes! Essas pequenas pestes tomam conta de tudo, e eles lembram muito os módulos de classe do Visual Basic, Em programação...

[OPENING, música de abertura da série]
[Começando a aula por aqui...] Em programação, podemos classificar as classes como um das sacadas mais legais na programação orientada á objetos (POO), mas como assim objetos? Vamos considerar um carro, qual é a melhor forma de descrever ele? Vamos tentar: “Esse carro é do modelo Tal, da marca Etc&Tal, tem cor azul e placa ABC-0007, etc.” Em objetos (e classe é um objeto) é isso que chamados de ‘Propriedades’ , elas descrevem como é ou como deve-se comportar o objeto, em programação é o mesmo, veja: “Essa é a janela do software Tal, a janela possui cor tal, tem 800 por 600 pixels de tamanho e está na posição coordenada x de 30, etc.” Isso certamente faz um “objeto” no computador lembrar um objeto real, mas um objeto real faz muitas coisas, ele serve para algo, veja só o carro: “ Ele acelera, freia, passa de marcha, limpa pára-brisas, muda de direção (vira à esquerda ou à direita)...”. Isso aqui nós podemos chamar de métodos, se refere a todas as ações que ele realiza, e em programação é o mesmo: “Essa janela , abre, fecha , move-se para posição tal, faz tal coisa se clicar nela...”

Podemos classificar os métodos de duas formas: rotinas e funções: rotinas são as séries de comandos necessárias para o funcionamento do programa e funções são as séries de instruções utilizadas para se resolver um problema, melhor dizendo: rotinas são sempre necessárias e funções são rotinas que geralmente retornam um valor quando são chamadas. Agora de brinde um exemplo de chamada de função, imagine a seguinte situação, a de que precisamos calcular o seno de um número. Veja como ficaria (Nossa, já estou passando códigos!!): seno_180graus = seno(180) Isso quer dizer que ‘seno_180graus ‘ seria igual ao que retornasse da função seno, que possui o número 180 nesse caso como argumento para realizar os cálculos, repare que aqui podemos colocar qualquer número para o seno ser calculado.Mas e então? O que fizemos até aqui?

[QUICK FLASHBACK]: na POO, as classes são objetos que possuem funções e rotinas, certo? Mas e daí?... um programa não precisa necessariamente de classes para funcionar - apenas uma rotina já pode ser um programa; mas então qual é a grande sacada das classes? Muito simples, elas podem ser instanciadas! “Que diabos é isso, tio Rafael??”. Tenha calma, vejamos isso logo abaixo.

[EYE CATCH, aquele trecho que vem quando um seriado volta do intervalo comercial...] Dizendo da forma mais simples, vamos “traduzir” instância como uma cópia duma classe. “Como assim cópia??” Pra que você possa acessar o conteúdo duma classe você tem de chamar ela para que possa executar algo, senão seria somente m pedaço de código isolado e inútil. Para chamar a tal classe, você precisa criar ela através de outro nome e nós podemos fazer quantas quisermos dela! Imagine que no jogo nós queremos vários personagens na tela, não precisamos escrever o código várias vezes para desenhar cada personagem, basta criar uma classe chamada ‘personagem’, e recriar até 1 milhão deles! Você cria eles, define as suas propriedades e programa o seu comportamento através das rotinas responsáveis pelo funcionamento base. Pronto! Você pode fazer quantos personagens quiser. Legal não? Mais o que isso tem a ver como o RGSS mesmo? Como eu disse lá em cima na INTRO, é com base nisso que o Rpg Maker funciona, e você vai precisar aprender a fazer classes caso queira desenvolver algum script por Maker. Vocês verão logo logo como criar uma classe “funcional” e aprender sobre herança das classes! Mas por hora, vamos fazer uma rápida revisão do que vimos hoje.

[FLASHBACK, revisão do conteúdo ou citação dum trecho já visto anteriormente]: Classes são um dos módulos na Programação Orientada á Objetos (POO), e como objetos podem ter propriedades, além de métodos (as rotinas e as funções, que podem retornar valores)

[ENDING, tema de encerramento]
[NO PRÓXIMO EPISÓDIO, ou seja, as próximas aulas]
Próxima postagem vocês verão como criar uma classe, ou seja, finalmente alguma prática! Além disso, vocês aprenderão a utilizar as classes diretamente nos códigos do RPG Maker sem mexer numa única linha do código que já está lá! O próximo episódio de ‘Minha vida, agora com RGSS’ será:

Episódio #02 – “Classes: Que se faça uma classe! O poder (não tão) oculto da herança!” Não perca!!

2 comentários:

  1. Ha!
    Acho que tô entendendo um pouco melhor o RGSS. :)
    Estou ansioso pelo próximo episódio.
    Até mais, Rafael, continue o bom trabalho! ;)

    ResponderExcluir
  2. ae mano agora sim melhorou sou eu aquele cara q colocou seu comentario logo no 1 episodio^^
    melhorou só axo q vc esta enrolando muito mais esta otimo pra qm nunca meseu nota: 10!

    meu forum é:http://equipedw.forumeiros.com

    ResponderExcluir