[iniciante] tutorial basico de script

Ir em baixo

[iniciante] tutorial basico de script Empty [iniciante] tutorial basico de script

Mensagem por ricktails em Dom Jun 06, 2010 11:11 pm

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

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

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
ricktails
ricktails
Aldeão
Aldeão

Prêmio : Nenhum
Mensagens : 23
Gold : 3449
Nível : 12

Voltar ao Topo Ir em baixo

[iniciante] tutorial basico de script Empty Re: [iniciante] tutorial basico de script

Mensagem por M3T em Seg Jun 07, 2010 11:27 am

Muito bom esse tutorial de RGSS. Servirá até para mim que estou aprendendo.

Obrigado por disponibilizar.

Até mais,
M3T.

_________________________________________________
[iniciante] tutorial basico de script Oherdeirodotrono

[iniciante] tutorial basico de script Barfp

[iniciante] tutorial basico de script Barm3t
M3T
M3T
Rei
Rei

Prêmio : Nenhum
Mensagens : 468
Gold : 3978
Nível : 31

Voltar ao Topo Ir em baixo

[iniciante] tutorial basico de script Empty Re: [iniciante] tutorial basico de script

Mensagem por Ure¢a em Seg Jun 07, 2010 2:10 pm

Muito bom já havia lido...
Observações: Coloque na Tag: [Iniciante] com letra maiuscula, fica mais bonito e organizado. Outra, vc tem autorização do Rafa? Tem que ter cara, e acho que precisa colocar um link pro tópico original na Reino RPG...

FLw
RMVX S2

_________________________________________________
[iniciante] tutorial basico de script Bannertr

Nova Grandes Makers. Visitem!!
Ure¢a
Ure¢a
Rei
Rei

Prêmio : Duelo de Pixel
Mensagens : 1179
Gold : 5392
Nível : 100

https://grandesmakersstaff.forumeiros.com

Voltar ao Topo Ir em baixo

[iniciante] tutorial basico de script Empty Re: [iniciante] tutorial basico de script

Mensagem por [Executor] em Seg Jun 07, 2010 3:55 pm

bem, acho que deveria estar na Secção de Scripts !
[Executor]
[Executor]
Treinador Mestre
Treinador Mestre

Prêmio : Nenhum
Mensagens : 414
Gold : 4138
Nível : 39

Voltar ao Topo Ir em baixo

[iniciante] tutorial basico de script Empty Re: [iniciante] tutorial basico de script

Mensagem por ricktails em Sex Jun 11, 2010 12:54 am

agora eu tenho autorização do rafa, vou postar o resto do tutorial logo
ricktails
ricktails
Aldeão
Aldeão

Prêmio : Nenhum
Mensagens : 23
Gold : 3449
Nível : 12

Voltar ao Topo Ir em baixo

[iniciante] tutorial basico de script Empty Re: [iniciante] tutorial basico de script

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum