Aula 4 - Vars ??? Hammm???

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade Aula 4 - Vars ??? Hammm???

Mensagem por reddragon em Dom 01 Fev 2009, 10:35

Bom como venho dizendo, por favor, quem ainda não leu as aulas anteriores leia para entender o que estarei escrevendo.

Galera nesta aula estaremos falando um pouco sobre variáveis.

Gosto de fazer uma analogia do GM com um relógio e é assim:

Pensa no jogo que você monta no GM fosse um relógio as sprites seriam os ponteiros só a parta que se consegue ver do relógio, o script e como se fosse a estrutura dele a parte por trais do mostrador onde você não esta vendo, e as variáveis são as engrenagens que sozinha não fazem nada por isso que a estrutura o script da sustentação e direciona para fazer seu serviço e o resultado você vê na tela ou no mostrador.

Analogias a parte vãos a hora que interessa que é explicamos o que são essas tais de variáveis.

Variáveis são como sessões da memória do computador onde você coloca a informação que quiser basicamente textos e números.

Existem dois tipos de vars principais as variáveis locais e variáveis globais.

As var locais são variáveis que são criadas e usadas por cada obj separadamente e que para se usadas em outro obj será necessário índex, com a vantagem de que cada obj pode ter a mesma var só que trabalhada separadamente, isto é, cada uma em seu obj.

Já as vars globais são criadas em um obj e todos podem usar sem a necessidade de uma índex mas se você alterar seu valor em um obj você altera em todos ao mesmo tempo.

Bom com essa explicação complicada que mais confundiu que explicou vamos montar nossa primeira var.

Abra a aula anterior ela deve estar assim:



Iremos usar um novo evento agora chamado CREATE esse evento é o evento como o nome diz de criação mas ele chama assim não porque ele cria coisas mas sim porque ele é o primeiro evento executado quando seu obj for criado, por isso que é nele que iremos criar nossas vars.

Agora o adicione e nele coloque um excute code e escreva o seguinte script.



Código:
velocidade = 5

Obs: cuidado com maiúsculo e minúsculo na hora de criar os nomes de suas variáveis porque o GM reconhece isso e o melhor seria você adotar um padrão escrever de minúsculo sempre.

Pronto!!! Criamos nossa primeira var e ela vai controlar a velocidade da minha bola. Mas como?

Vá ate o script no evento step e nele subistitua todos os 5 por velocidade.

Assim:

Código:
if keyboard_check(vk_up){y -= velocidade}
if keyboard_check(vk_down){y += velocidade}
if keyboard_check(vk_left){x -= velocidade}
if keyboard_check(vk_right){x += velocidade}

Agora quando você apertar um botão o script somara o valor de velocidade as coordenadas de nossa bola. Agora teste o jogo você vera que não mudou praticamente nada em nosso jogo, mas agora que vem à parte interessante:

Vá ao create e mude o valor da velocidade para 15, por exemplo. E teste.

Você automaticamente mudou o valor que é somado as suas coordenadas sem precisar mudar todo seu script de movimentação.

Isso é só uma das muitas utilidades das vars por isso fique atento que haverá mais explicações sobre o assunto.

Agora vou fazer o que deixei pendente na aula anterior.


Aperte a campainha.

Você provavelmente quando pensava em apertar um botão pensava nele como se fosse uma campainha.

Uma campainha quando apertada toca um som enquanto é pressionada e após soltar o botão o som para. Então basicamente são duas posições:

Apertadocom som
Desapertadosem som

Mas no GM existe isso, mas também existem mais duas coisas.

Imagine que a campainha quando apertada toca três sons diferentes. Um quando você o aperta outro enquanto você está apertado e por ultimo quando você solta o dedo do botão.

O GM trabalha dessa forma ele tem 3 divisões quando você aperta o botão.

keyboard_check_pressedquando você aperta o botão
keyboard_checkenquanto você esta apertando o botão
keyboard_check_releasede quando você solta o botão

Vamos fazer um teste para você entender melhor:

Volte na aula anterior e modifique o script de movimentação que criamos para esse:

Código:
if keyboard_check_pressed(vk_up){y -= velocidade}
if keyboard_check_pressed(vk_down){y += velocidade}
if keyboard_check_released(vk_left){x -= velocidade}
if keyboard_check_released(vk_right){x += velocidade}

E aumente o valor de velocidade para 25. E teste.

Agora repare que quando você aperta pra cima e pra baixo a bola se move na hora que você aperta, mas quando você move se para os lados a bola só se move na hora que você soltar o botão.

Galera chega ao fim mais uma aula mas essa aula pode te deixado com mais duvidas do que ter explicando alguma coisa. Tenham calma, esse assunto é extenso mesmo, na próxima aula vamos usar mais vars e assim posso mostrar lhes mais coisas.

tutorial feito por RedDragon

reddragon

Número de Mensagens : 267
Idade : 27
Data de inscrição : 19/03/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Rubens T [Stormy Games] em Sab 18 Abr 2009, 15:02

if keyboard_check_pressed(vk_up)

cara, o que eu coloco ali se o comando for um numero, letra ou qualquer outra tecla?

Rubens T [Stormy Games]

Número de Mensagens : 85
Idade : 24
Data de inscrição : 15/04/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por CPinheiro em Sab 18 Abr 2009, 16:27

números:
vk_numpad1
vk_numpad2
vk_numpad3
(...)

Letras:
ord("X")
ord("Z")
ord("H")
exemplo:
Código:

if (keyboard_check(ord("H"))) //Checa se a letra H foi apertada
{
//código
}

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Rubens T [Stormy Games] em Seg 20 Abr 2009, 10:25

atah...

vlw cara...

o codigo das letras eu ja tinha achado, mas tava em duvida sobre os numeros msm...

Rubens T [Stormy Games]

Número de Mensagens : 85
Idade : 24
Data de inscrição : 15/04/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por DDaniel em Dom 03 Maio 2009, 18:55

a placa de video nao consegue faser funfar os testes comé que eu vou saber se tá funfando? Suspect No affraid Sad

DDaniel

Número de Mensagens : 3
Data de inscrição : 03/05/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por doug_maker em Sab 18 Jul 2009, 11:59

o significa VK antes das direções tipo (vk_up)

doug_maker

Número de Mensagens : 152
Idade : 26
Data de inscrição : 14/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por makgamer em Sab 18 Jul 2009, 12:35

vk é a tecla especial por exemplo:
keyboard_check(vk_up)
vai checkar se ajente esta apertando para cima ou vk_left é o botão esquerdo mais teclas normais não se coloca vk ai seria:
keyboard_check(ord('Letra'))
isto checkaria se ajente esta apertando tal letra entendeu?

makgamer

Ranking : Nota D
Número de Mensagens : 927
Idade : 18
Data de inscrição : 29/03/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   : 1
   :

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Zerei em Ter 04 Ago 2009, 19:17

2 perguntas:
1° a variavel tem tamanho?
Tipo
teme um limite de caracteres pro tamanho da variavel? como no pascalque só pode ate 8 caracteres?
1+1° nao preciso declarar que tipo a variavel é? ou ele reconhece automaticamente só pelo conteudo dentro dela?

Zerei

Número de Mensagens : 10
Data de inscrição : 04/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Janx em Ter 04 Ago 2009, 19:36

Hmmm acredito que o limite da variavel seja o equivalente a um "long int" de c++ ou seja:
entre -2,147,483,647 e 2,147,483,647

Bom, posso estar enganado, mas acredito que seja isso Happy

Não é presiso especificar a variavel. Mas lembre-se, se ela for texto e você tentar usar como numero irá dar erro!
Você pode converter facilmente usando os comandos:
real(string); //retorna valor real
string(real); //retorna o valor em texto

Espero ter esclarecido sua duvida Happy

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por minato.11 em Ter 04 Ago 2009, 19:43

Belo tuto RedDragon!
Agora esclareceu todas minhas duvidas sobre Vars!

\o/

minato.11

Número de Mensagens : 170
Idade : 21
Data de inscrição : 14/12/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Zerei em Qua 05 Ago 2009, 13:26

vlw cara a parte do tamanho intendi apesar de n precisar de uma var desse tamanho Happy
mas onde eu declaro essa mudança de variavel?
antes de por um valor diferente q tava nela?

Zerei

Número de Mensagens : 10
Data de inscrição : 04/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Janx em Qua 05 Ago 2009, 17:05

hmm.. vc nao pode mudar o tipo de variavel.
Você pode criar uma variavel e atribuir a ela o valor da outra
por exemplo:
Código:
idade = 25;
idade_texto = string(idade);

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Zerei em Qua 05 Ago 2009, 17:12

intendi
intaum so tirar o q ta ladentro e por em outro lugar ela ja fica livre pra qq valor ne?
e isso mesmo ou to errado de novo?

Zerei

Número de Mensagens : 10
Data de inscrição : 04/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Janx em Qua 05 Ago 2009, 17:14

voce quer dizer q no meu exemplo, dai a variavel
idade iria poder guardar textos? nao, ela nao vai mudar de tipo.

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Trevor Belmont em Ter 15 Set 2009, 14:22

Ei, muito boa essa aula, no inicio você fica com dúvidas, mais vai um conselho, antes de esperniar e ficar desedperado e postar aqui, tenta resolver sozinho...eu fikei com dúvida me desesperei e vi q tinha uma coisinha errada, é galera programação é isso, as vezes uma poeira pode se tornar uma grande pedra de 75metros de altura xD, flw!!!


Última edição por Trevor Belmont em Ter 15 Set 2009, 15:52, editado 1 vez(es)

Trevor Belmont

Número de Mensagens : 24
Idade : 103
Data de inscrição : 15/09/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://infotechnet.wordpress.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Janx em Ter 15 Set 2009, 15:31

tem um pequeno erro de digitaçao:
keyboard_check

Janx

Número de Mensagens : 2417
Idade : 23
Data de inscrição : 24/05/2008
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por fore em Ter 06 Out 2009, 15:18

só consigo fazer coisas quando estou lendo tutos
quando vou tentar fazer algo sozinhu até desisto..
muito complicada essa parte de variaveis No

fore

Número de Mensagens : 14
Idade : 26
Data de inscrição : 01/10/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Thiagoct em Sex 05 Mar 2010, 10:52

e Se For um Joystick??

Thiagoct

Número de Mensagens : 3
Idade : 25
Data de inscrição : 26/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por xXCristhianXx em Dom 30 Jan 2011, 02:28

Vlw reddragon Feliz

xXCristhianXx

Número de Mensagens : 4
Data de inscrição : 30/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Leandro 17 em Dom 12 Fev 2012, 19:57

Muito bom, estou acompanhando desde o começo, é genial!!!!!

Editado por joton
Se você não notou o tópico é de 2009, só post em caso de duvida.

Leandro 17

Número de Mensagens : 3
Data de inscrição : 10/02/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: Aula 4 - Vars ??? Hammm???

Mensagem por Conteúdo patrocinado Hoje à(s) 10:41


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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