Battle Maker

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

Suporte para criação de Jogos


3 participantes

    Tutorial de scripts por Rafidelis

    ricktails
    ricktails
    Membro
    Membro


    Mensagens : 10
    Credibilidade : 2

    Tutorial de scripts por Rafidelis Empty Tutorial de scripts por Rafidelis

    Mensagem por ricktails Dom Jun 20, 2010 1:24 am

    Tópico 1 - A Lógica de Programação

    Topico 2 – Introdução ao RGSS/2
    |_ O que é RGSS/2?
    |_ O Editor de scripts </A>

    Tópicos 3 – Variáveis e Constantes
    |_ Regras para declaração de variáveis
    |_ Constantes & Variáveiscolor]

    Tópico 4 – Escopo das Variáveis
    |_ Variáveis Locais
    |_ Variáveis de Instancia
    |_ Variáveis Globais

    O que são os scripts do RPG Maker XP/VX?

    Os scripts são blocos de códigos,que fazem com que tudo no jogo funcione,por exemplo,o som,os eventos,o mapa(e os tilesets),etc.
    È são a uma das partes mais que requerem maior conhecimento para ser manipulados pelo usuários do software,e para saber usar-los e melhor criar-los é necessário ao menos um pouco de conhecimento sobre a linguagem de programação e sua sintaxe,no caso do RGSS como já foi dito,a linguagem de programação é o Ruby.
    Qualquer um pode personalizar seu jogo ao extremo,quase tudo,ou praticamente TUDO pode ser refeito usando o scripts,o limite é sua criatividade e seu conhecimento!

    Por isso,mãos na massa!



    Introdução:

    Bom amigos scripters e maníacos,estou aqui novamente para disponibilizar uma serie de aulas de RGSS para que todos possam aprimorar seus conhecimentos e assim personalizar seus jogos,e ajudarem os outros makers que muitas vezes não tem a possibilidade ou a capacidade de ‘entrar’ no mundo RGSS.
    Nessa serie de tutoriais eu pretendo ensinar RGSS de forma que você consiga criar seus scripts no decorrer do curso.
    Em muitos momentos iremos usar o tão famoso comando p ou print para recebermos
    de forma imediata o resultado de algum bloco de código,mas em muitas vezes também iremos criar scripts do zero,pois aprender somente na teoria,é um saco e no final a gente não aprende nada,não é mesmo?



    Tópico 1 – A Lógica de Programação:


    Utilizamos à lógica na nossa vida o tempo todo, no dia-a-dia, por exemplo:
    Se você pretende sair de casa para ir à padaria, e se chovendo logicamente você ira sair com um guarda-chuva e vestir um agasalho para não se molhar nem sentir frio.
    Mas se não estiver chovendo,você ira ate a padaria sem o guarda-chuva e não será necessário o agasalho.
    Viu só,acima temos um exemplo de lógica simples que costumamos usar nos nossos cotidianos,e na programação você ira usar a lógica de forma parecida(ou igual) do exemplo.
    Um exemplo de lógica na programação:
    Se você quer exibir uma janela quando a tecla F5 for pressionada e quando novamente a tecla F5 for pressionada,ocultar a janela,quais passos devemos seguir?

    1 – Criar a Janela
    2 - Definir visibilidade Inicial da Janela
    3 – Criar condição de pressionamento de tecla do teclado
    4 – Exibir a janela se ela não for visível
    5 - Mas se ela for visível,oculta-la

    # OBS : Códigos descritos como acima são conhecidos como ‘portugol’

    Vou ‘converter’ o código acima para RGSS/2,se você tem já tem algum conhecimento provavelmente ira entender o código.

    janela = Window_Base.new(0,0,544,416) # Criando a janela
    janela.visible = false # Deixando Invisivel
    if Input.trigger?(Input::F5) # Se apertar a tecla F5
    if not janela.visible # Se a janela não estiver visível
    # Tambem poderia ser escrito assim : if janela.visible == false
    janela.visible = true # Deixando visíve
    elsif janela.visible # Mas se ela estiver visvel
    janela.visible = false #Deixando invisivel
    end
    end

    Lendo os comentários (# ) dá para entender mais ou menos o código,e sua lógica.
    Não irei me aprofundar nesse assunto agora,pois ainda estamos no começo do tutorial e veremos isso mais para frente,isso é somente o ‘aquecimento’.

    Mas então o que vem a ser a lógica de programação?

    Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.
    Estes pensamentos, podem ser descritos como uma seqüência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa.

    Seqüência Lógica

    Seqüência Lógica são passos executados até atingir um objetivo ou solução de um
    problema.


    Tópico 2 – Introdução ao RGSS/2

    O que é RGSS ou RGSS2?
    RGSS é uma linguagem de programação baseada no Ruby para a criação de jogos, e o RGSS2 é uma forma ‘melhorada’ do RGSS.

    RGSS [_Ruby Game scripting System
    [_ Sistema de scripting para jogos em Ruby


    Ou seja, na realidade usaremos a linguagem de programação Ruby, por isso se você quiser já pode procurar tutoriais na internet sobre programação em Ruby,mas de qualquer forma indico que você termine de ler esse tutorial para se aprimorar em outros ;D
    Mas é claro que muitas funções da linguagem Ruby foram extintos do RGSS, mas nada que atrapalhe o processo de criação de scripts.

    Nesse tutorial irei usar o RPG Maker VX(RGSS2) mas é claro que você pode acompanhar o tutorial usando o RPG MakerXP(RGSS),pois quando nós formos criar scripts eu disponibilizarei o tutorial em duas versões(RGSS e RGSS2)

    O Editor de scripts e sua cores:

    O Editor de scripts usado no RPG Maker(XP e VX) é o editor de texto SciTE,criado por Neil Hodgson,se você quiser baixar o SciTE,clique aqui

    Quando você abre o editor de scripts e seleciona algum script,logo aparecem um monte de cores e palavras.
    Essa separação por cores é de vital importância,pois auxilia no desenvolvimento dos scripts,nos indicando a palavras reservadas do ruby,os operadores e os operandos,os textos,os números etc.

    As cores apresentadas no editor do RPGMakerVX e RPGMakerXP são:


    Azul: Essa cor sempre ira aparecer nas palavras reservadas do Ruby,ex:
    Os comandos class,def,true,etc.
    As palavras reservadas no ruby são:

    BEGIN END alias and begin break
    class def defined? do if else
    elsif end for module next in
    ensure true false not or redo
    rescue retry undef unless until when
    case while yield super self return nil


    Vermelho: Representam números literais nas expressões,ex:
    1, 50_00,1,200,0d123

    Verde Água – Representam os operadores matemáticos,operadores lógicos,pontos,parênteses,colchetes,vírgulas.Ex:
    +,*,>,==,[]

    Roxo: Representam as cadeias de texto,strings.Ex:
    ‘Essa é uma String’,’Willssonnnnnnnn-Cade Você Wilson?’

    Verde: Representam os comentários, eles não são interpretados pelo Ruby, servem somente para anotações e explicações sobre o uso dos scripts.Ex:
    # Não tenho nada pra escrever aqui


    Tópico 3 – Variáveis e Constantes


    Iremos entrar agora no principal tema de QUALQUER linguagem de programação,as variáveis.
    Variáveis são endereços na memória RAM que armazenam temporariamente determinados valores,esses endereços recebem um rotulo(nome da variável) e um conteúdo(valor da variável) e cada vez que citamos(ou melhor escrevemos) seu nome (rotulo) o seu valor(conteúdo) é manipulado.
    Você já deve ter lido em outros tutoriais que variáveis são como baldes,cds,gavetas etc.E essas afirmações são verdadeiras,porque as variáveis guardam valores para serem usados ou manipulados mais tarde.


    Regras para a declaração de variáveis

    Toda variável precisa de um nome,para que possa ser diferenciada das outras,cada linguagem de programação estabelece suas próprias regras para nomear variáveis,no caso do Ruby uma variável é declarada quando se digita alguma informação e se atribui( = ) um valor a ela.Os nomes das variáveis devem começar com uma letra (a, b, e, etc.) ou um sublinhado(_),e nunca com um numero (1, 2, 5, etc.) e nem caracteres especiais(!,<,&,etc.) e também não podem conter espaços em branco.(Quando for necessário ‘separar’ o nome da variável uso _(sublinhado)

    Exemplos de variáveis declaradas erroniamente:
    19_numero = 19 # Errado começa com um numero
    >variavel< = 10 # Errado contem caractere especial (> <)
    meu nome = ‘Rafael’ # Errado,pois tem espaço em branco
    r = >>r # Errado,pois o valor da variavel contem caracteres especiais

    Lembre se de que quando for criar algum script,ou software,em qualquer linguagem de programação,sempre atribua o nome da variavel com relação ao valor que ela ira guardar,por exemplo,para armazenar uma imagem de um cachorro(AuAuAu!) em alguma variavel ou constante,você pode rotular(nomear) ela de varias formas que indiquem seu conteúdo ex:

    imagem_cachorro
    img_dog

    Só para esclarecer essa parte melhor,imagine que você vai criar um script que modifique a tela de titulo,e que você vai usar 5 imagens(Uma para a imagem de fundo,outra para a imagem do nome do jogo,outra com o nome da opção novo jogo ,outra para a opção continuar, e outra para a opção sair)
    Ficaria muito mais fácil de lembrar qual variavel armazena cada imagem se você nomear elas de forma que remetam ao seu ‘conteúdo’(ou melhor valor),ex:

    fundo
    nome_jogo
    novo_jogo
    continuar
    sair

    Mas se por outro lado você as nomear assim:

    imagem0
    image1
    foto2
    sprite3
    picture4

    Você provavelmente,vai acabar esquecendo qual variavel controla cada imagem,alem de dificultar o entendimento do seu script,e isso resulta numa falha :\
    Agora imagine só um script que usa 50 imagens,se o programador não souber nomear suas variáveis de forma clara e direta,o script vai virar um confusão e ele não ira conseguir fazer com que ele funcione.


    Constantes

    Constantes são valores imutáveis, ou seja, depois de declarada e atribuída um valor, não é mais possível alterar seu valor, apenas ler.
    Elas podem ser lidas(só lida, não alteradas, pois isso gera um erro de execução) em todo o modulo¹,ou classe², em que foram declaradas, e classes filhas da classe onde foi declarada(Ex: Window_Gold é filha de Window_Base), mas também podem ser lidas fora do modulo e da classe onde foram declaradas usando o escopo:
    NomeDaClasse ou Método onde a Constante foi declarada::NomeDaConstante
    Elas são declaradas dessa forma:

    NOME_CONSTANTE = TipoDeDado(Valor) ou Nome_constante =TipoDeDado
    CONSTANTE = ‘Número 10’ # Uma constante com tipo de dado string

    Veja que uma constante SEMPRE se inicia com o primeiro caractere maiúsculo e nunca tem um caractere especial na primeira posição de sua nomenclatura,então por exemplo, @NOME_CONSTANTE não é uma Constante e sim uma variável de instancia.

    Momento Pratica!

    Crie um novo script e digite:

    class Constantes # Cria a classe(Classes Serão estudas mais adiante)
    CONSTANTE_1 = 'Esta é uma constante' # Declara uma constante com um texto
    CONSTANTE_2 = 10 * 2 # Declara outra constante com um valor numérico
    end

    p Constantes::CONSTANTE_1 # O escopo Class_ou_Modulo::Constante acessa uma classe
    # ou um modulo para manipular uma Constante
    p Constantes::CONSTANTE_2

    Quando você rodar o jogo,vai ver que foram exibidos os valores das constantes e não houve nenhum erro.
    Vamos tentar modificar o valor de alguma Constante,adicione o código abaixo logo acima da linha
    Citar

    CONSTANTE_2 = 10 * 2 # Linha 2
    CONSTANTE_1 = ‘Kaka – Melhor Jogador da Copa das Confederações’


    Run the Game!
    Novamente o valor da constante CONSTANTE_1 foi exibido na tela,mais agora ela guarda outro valor >_<’

    continua...

    criador: rafidelis
    disponibilizador: ricktails
    bruce-lee
    bruce-lee
    Membro Experiente
    Membro Experiente


    Mensagens : 84
    Credibilidade : 2

    Tutorial de scripts por Rafidelis Empty Re: Tutorial de scripts por Rafidelis

    Mensagem por bruce-lee Dom Jun 27, 2010 12:55 am

    Essa foi uma aula legal mas seria bom que você mudaçe o nome do tópico e colocase umas screens fica mais chamativo!

    +5 Pontos para você!
    Linus
    Linus
    Membro Experiente
    Membro Experiente


    Mensagens : 61
    Credibilidade : 0

    Tutorial de scripts por Rafidelis Empty Re: Tutorial de scripts por Rafidelis

    Mensagem por Linus Dom Jun 27, 2010 9:03 am

    Bem legal cara parabens mt legal^^

    coloque umas screns q melhora :D

    Conteúdo patrocinado


    Tutorial de scripts por Rafidelis Empty Re: Tutorial de scripts por Rafidelis

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Dom Fev 05, 2023 7:27 pm