Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
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
» [RESOLVIDO]Higscore com vars
» Aula 02 GML - If e Else
» #DGM Aula 04 - Backgrounds
» [Resolvido]Como setar todas as vars na instancia
» [RESOLVIDO]Higscore com vars
» Aula 02 GML - If e Else
» #DGM Aula 04 - Backgrounds
» [Resolvido]Como setar todas as vars na instancia
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|