PortalPortal  InícioInício  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  Conectar-se  

Compartilhe|

[GAME MAKER]Aula 4 - Variaveis do GM

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

Outro Maker
Outro Maker

Masculino Postagens : 48
Data de inscrição : 14/11/2009
Localização : Sales Oliveira - SP
Emprego/lazer : Estudante 8° Ano
Mensagem Pessoal : Varia com o tempo


Ver perfil do usuário http://seis-lados.forumeiros.com
MensagemAssunto: [GAME MAKER]Aula 4 - Variaveis do GM Qua Nov 18, 2009 12:45 pm

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.

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_right)){//verifica se a seta direita foi apertada
    hspeed = velocidade
    sprite_index = spr_mario_dir
}else{// se não foi
    if (keyboard_check(vk_left)){ //verifica se a seta esquerda foi apertada
        hspeed = -velocidade
        sprite_index = spr_mario_esq
    }else{// se não foi
        hspeed = 0
        image_index = 1
    }
}

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.
Código:
velocidade = 15

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_released(vk_right)){//verifica se a seta direita foi apertada
    hspeed = velocidade
    sprite_index = spr_mario_dir
}else{// se não foi
    if (keyboard_check_released(vk_left)){ //verifica se a seta esquerda foi apertada
        hspeed = -velocidade
        sprite_index = spr_mario_esq
    }else{// se não foi
        hspeed = 0
        image_index = 1
    }
}

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.
Voltar ao Topo Ir em baixo

[GAME MAKER]Aula 4 - Variaveis do GM

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
The World of EverGrand :: Criadores de Jogos :: Game Maker 7 :: Tutoriais-