Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Aula 4 - Vars ??? Hammm???
+10
Trevor Belmont
minato.11
Janx
Zerei
makgamer
doug_maker
DDaniel
CPinheiro
Rubens T [Stormy Games]
reddragon
14 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Aula 4 - Vars ??? Hammm???
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.
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:
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:
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.
Vamos fazer um teste para você entender melhor:
Volte na aula anterior e modifique o script de movimentação que criamos para esse:
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.
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:
Apertado | com som |
Desapertado | sem 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_pressed | quando você aperta o botão |
keyboard_check | enquanto você esta apertando o botão |
keyboard_check_released | e 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- Data de inscrição : 19/03/2008
Reputação : 0
Número de Mensagens : 267
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
if keyboard_check_pressed(vk_up)
cara, o que eu coloco ali se o comando for um numero, letra ou qualquer outra tecla?
cara, o que eu coloco ali se o comando for um numero, letra ou qualquer outra tecla?
Rubens T [Stormy Games]- Data de inscrição : 15/04/2009
Reputação : 1
Número de Mensagens : 85
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
números:
vk_numpad1
vk_numpad2
vk_numpad3
(...)
Letras:
ord("X")
ord("Z")
ord("H")
exemplo:
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
}
Re: Aula 4 - Vars ??? Hammm???
atah...
vlw cara...
o codigo das letras eu ja tinha achado, mas tava em duvida sobre os numeros msm...
vlw cara...
o codigo das letras eu ja tinha achado, mas tava em duvida sobre os numeros msm...
Rubens T [Stormy Games]- Data de inscrição : 15/04/2009
Reputação : 1
Número de Mensagens : 85
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
a placa de video nao consegue faser funfar os testes comé que eu vou saber se tá funfando?
DDaniel- Data de inscrição : 03/05/2009
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
o significa VK antes das direções tipo (vk_up)
doug_maker- Data de inscrição : 14/02/2009
Reputação : 0
Número de Mensagens : 152
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
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?
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- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: Aula 4 - Vars ??? Hammm???
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?
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- Data de inscrição : 04/08/2009
Reputação : 0
Número de Mensagens : 10
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
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
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
entre -2,147,483,647 e 2,147,483,647
Bom, posso estar enganado, mas acredito que seja isso
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
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
Belo tuto RedDragon!
Agora esclareceu todas minhas duvidas sobre Vars!
\o/
Agora esclareceu todas minhas duvidas sobre Vars!
\o/
minato.11- Data de inscrição : 14/12/2008
Reputação : 0
Número de Mensagens : 170
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
vlw cara a parte do tamanho intendi apesar de n precisar de uma var desse tamanho
mas onde eu declaro essa mudança de variavel?
antes de por um valor diferente q tava nela?
mas onde eu declaro essa mudança de variavel?
antes de por um valor diferente q tava nela?
Zerei- Data de inscrição : 04/08/2009
Reputação : 0
Número de Mensagens : 10
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
hmm.. vc nao pode mudar o tipo de variavel.
Você pode criar uma variavel e atribuir a ela o valor da outra
por exemplo:
Você pode criar uma variavel e atribuir a ela o valor da outra
por exemplo:
- Código:
idade = 25;
idade_texto = string(idade);
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
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?
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- Data de inscrição : 04/08/2009
Reputação : 0
Número de Mensagens : 10
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
voce quer dizer q no meu exemplo, dai a variavel
idade iria poder guardar textos? nao, ela nao vai mudar de tipo.
idade iria poder guardar textos? nao, ela nao vai mudar de tipo.
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
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)
Re: Aula 4 - Vars ??? Hammm???
tem um pequeno erro de digitaçao:
keyboard_check
keyboard_check
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
só consigo fazer coisas quando estou lendo tutos
quando vou tentar fazer algo sozinhu até desisto..
muito complicada essa parte de variaveis
quando vou tentar fazer algo sozinhu até desisto..
muito complicada essa parte de variaveis
fore- Data de inscrição : 01/10/2009
Reputação : 0
Número de Mensagens : 14
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
e Se For um Joystick??
Thiagoct- Data de inscrição : 26/02/2010
Reputação : 0
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
Vlw reddragon
xXCristhianXx- Data de inscrição : 30/01/2011
Reputação : 0
Número de Mensagens : 4
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Aula 4 - Vars ??? Hammm???
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.
Editado por joton
Se você não notou o tópico é de 2009, só post em caso de duvida.
Leandro 17- Data de inscrição : 10/02/2012
Reputação : 1
Número de Mensagens : 3
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Vídeo-Aula]Aula 4.1 - Usando funções básicas do draw
» Aula 02 GML - If e Else
» Aula 3 - Puzzle - Todas os Modos da Aula 3 Aqui!
» #DGM Aula 01 - Views
» [Aula 02]O que são as sprites
» Aula 02 GML - If e Else
» Aula 3 - Puzzle - Todas os Modos da Aula 3 Aqui!
» #DGM Aula 01 - Views
» [Aula 02]O que são as sprites
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos