Conectar-se
Quem está conectado
30 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 30 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 19/03/2008
Número de Mensagens : 267
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuário

Aula 4 - Vars ??? Hammm???

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
avatar
Data de inscrição : 15/04/2009
Número de Mensagens : 85
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   :
   :
   :
Ver perfil do usuário

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

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?
avatar
Data de inscrição : 01/06/2008
Número de Mensagens : 1015
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://supermariobrasileiro.blogspot.com

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

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
}
avatar
Data de inscrição : 15/04/2009
Número de Mensagens : 85
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   :
   :
   :
Ver perfil do usuário

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

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...
avatar
Data de inscrição : 03/05/2009
Número de Mensagens : 3
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuário

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

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
avatar
Data de inscrição : 14/02/2009
Número de Mensagens : 152
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuário

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

em Sab 18 Jul 2009, 11:59
o significa VK antes das direções tipo (vk_up)
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 29/03/2009
Número de Mensagens : 927
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   :
   : 1
   :
Ver perfil do usuário

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

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?
avatar
Data de inscrição : 04/08/2009
Número de Mensagens : 10
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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?
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

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

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
avatar
Data de inscrição : 14/12/2008
Número de Mensagens : 170
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

em Ter 04 Ago 2009, 19:43
Belo tuto RedDragon!
Agora esclareceu todas minhas duvidas sobre Vars!

\o/
avatar
Data de inscrição : 04/08/2009
Número de Mensagens : 10
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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?
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

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

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);
avatar
Data de inscrição : 04/08/2009
Número de Mensagens : 10
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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?
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

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

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.
avatar
Data de inscrição : 15/09/2009
Número de Mensagens : 24
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuáriohttp://infotechnet.wordpress.com/

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

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)
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

Prêmios
   : 0
   : 2
   : 0
Ver perfil do usuário

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

em Ter 15 Set 2009, 15:31
tem um pequeno erro de digitaçao:
keyboard_check
avatar
Data de inscrição : 01/10/2009
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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
avatar
Data de inscrição : 26/02/2010
Número de Mensagens : 3
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

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

em Sex 05 Mar 2010, 10:52
e Se For um Joystick??
avatar
Data de inscrição : 30/01/2011
Número de Mensagens : 4
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

em Dom 30 Jan 2011, 02:28
Vlw reddragon Feliz
avatar
Data de inscrição : 10/02/2012
Número de Mensagens : 3
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum