Procurar
Últimos assuntos
Entrar
Top dos mais postadores
Dark Maker | ||||
KLNMaker | ||||
andre masterx | ||||
Relodo | ||||
Nara Hayama | ||||
Markituh | ||||
L0l-King | ||||
mystery_boy_maker | ||||
Thiago_o_programador | ||||
Rincewind |
Tutorial Mystery : Player Fantasma atravessar paredes
2 participantes
:: Game Maker :: Tutoriais
Página 1 de 1
Tutorial Mystery : Player Fantasma atravessar paredes
Tutorial Mystery
Player fantasma atravessar paredes !
Player fantasma atravessar paredes !
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Explicando melhor :
Bom eu vou ensinar para você que é novo e se considera inexperiente em GML, como fazer
um jogo de Plataforma simples em que o personagem tem a habilidade de atravessar paredes como um fantasma !
um jogo de Plataforma simples em que o personagem tem a habilidade de atravessar paredes como um fantasma !
Ao trabalho!
Salve no seu computador e importe para o Game Maker as seguintes sprites
com os seus respctivos nomes !
spr_personagem_esquerda
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
spr_personagem_direita
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
spr_chao
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
spr_parede
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
com os seus respctivos nomes !
spr_personagem_esquerda
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
spr_personagem_direita
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
spr_chao
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
spr_parede
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Agora vamos aos objetos
Crie um objeto para cada Sprite retirando a palavra spr e adicionando a palavra obj na frente de cada nome , você deverá ficar com algo assim :
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Marque tanto o obj_chao como o obj_parede como visiveis e sólidos como na imagem
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Marque tanto o obj_chao como o obj_parede como visiveis e sólidos como na imagem
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
No objeto Player !!
Feito isso agora vamos no obj_player e iremos add o Evento Create , esse da imagem abaixo :
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Proucure na aba " Control " por Code e arraste a Ação " Execute Code " escreveremos o seguinte código :
O que foi feito ?
Bom acabamos de criar uma variavel global ou seja que pode ser usada por mais de um objeto com o nome " pode atravessar " igual a falso ou seja desligado , será com ela que iremos permitir ou não que o player atravesse as paredes [/i]
Agora vamos adicionar o Evento " Step " esse da imagem abaixo :
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Novamente usando o " Execute Code " iremos primeiramente dar movimento ao nosso
Player , então vamos fazer ele andar e pular com o código abaixo :
[/i] [Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Proucure na aba " Control " por Code e arraste a Ação " Execute Code " escreveremos o seguinte código :
- Código:
global.pode_atravessar = false
O que foi feito ?
Bom acabamos de criar uma variavel global ou seja que pode ser usada por mais de um objeto com o nome " pode atravessar " igual a falso ou seja desligado , será com ela que iremos permitir ou não que o player atravesse as paredes [/i]
Agora vamos adicionar o Evento " Step " esse da imagem abaixo :
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Novamente usando o " Execute Code " iremos primeiramente dar movimento ao nosso
Player , então vamos fazer ele andar e pular com o código abaixo :
- Código:
// Movimentação
if keyboard_check(vk_left){ hspeed = - 3 ; sprite_index = spr_personagem_esquerda} // se a tecla esquerda for apertada , o player irá para a esquerda com velocidade 3
if keyboard_check(vk_right){ hspeed = 3 ; sprite_index = spr_personagem_direita}// se a tecla direita for apertada , o player irá para a direita com velocidade 3
if keyboard_check(vk_nokey){ hspeed = 0 friction = 0.2} // Se nenhuma tecla for apertada o player ficará parado
if keyboard_check(ord("X")){ if not place_free(x,y+1){ vspeed = - 14 }} // Se a tecla "X" for apertada o palyer irá pular com velocidade certical 14
Agora adicionaremos ainda no step o código para a gravidade e outro para evitar Bugs de colisão ou seja que o player grude nas paredes.
Ainda no Step agora vamos configurar o funcionamento da variavel que fizemos no começo a pode atravessar iremos configurar ela para "ligar" e "desligar" quando apertarmos a tecla "Z" e também deixeremos o player transparente quando a mesma estiver ligada com o seguinte código
- Código:
//Gravidade e Anti Bug de Colisão
if not place_free(x+hspeed,y){ hspeed = 0 } // Evita que o player grude nas paredes
gravity_direction = 270 // direcão 270 ( padrão do GM )
gravity = 1 // gravidade = 1
Ainda no Step agora vamos configurar o funcionamento da variavel que fizemos no começo a pode atravessar iremos configurar ela para "ligar" e "desligar" quando apertarmos a tecla "Z" e também deixeremos o player transparente quando a mesma estiver ligada com o seguinte código
- Código:
// Codigo para Atravessar e Ficar Transparente
if keyboard_check_pressed(ord("Z")){ if global.pode_atravessar = true { global.pode_atravessar = false // Se a tecla "Z" for apertada e a var estiver ligada então desligará
}else{ // Se não
if keyboard_check_pressed(ord("Z")){ if global.pode_atravessar = false { global.pode_atravessar = true } // Se a tecla "Z" for apertada e a var estiver desligada então ligará
}
}
}
if global.pode_atravessar = true { image_alpha = 0.2 // Se estiver ligada a opacidade sera de 0.2 ou seja o player será transparente
}else{ // Se não
if global.pode_atravessar = false { image_alpha = 1 // Se estiver desligada a opacidade será normal
}
}
Bom terminamos com o nosso Step
Agora a Colisão com o Chão
Adicione o Evento " Collision " e proucure pelo objeto : obj_chao como na imagem abaixo
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Escreveremos o seguinte código usando o " Execute Code "
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Escreveremos o seguinte código usando o " Execute Code "
- Código:
vspeed=0 // Quando colidir a velocidade vertical será 0
move_contact_solid(270,5) // terá contato com objeto sólido
friction = 0.2 // E terá fricção quando tocar no chão
Colisão com a Parede
Do mesmo modo que fizemos anteriormente adicionaremos colisão mas agora com a parede :
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Escreva o seguinte código :
Para que isso ?
Bom esse código é para evitar que o player volte a ficar " Sólido " dentro da parede e fique preso dentro dela, então a var pode atravessar não ficará falsa enquanto o player estiver atravessando a parede
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Escreva o seguinte código :
- Código:
if global.pode_atravessar = false { global.pode_atravessar = true }
Para que isso ?
Bom esse código é para evitar que o player volte a ficar " Sólido " dentro da parede e fique preso dentro dela, então a var pode atravessar não ficará falsa enquanto o player estiver atravessando a parede
Com isso acabamos de configurar o objeto player
O ultimo passo !
Vamos ao código que é a alma do tutorial
Agora feche a janela do obj_palyer a abra a do obj_parede, insira o Evento Step e vá no Execute Code como na imagem abaixo :
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Escreva o seguinte código !
Agora feche a janela do obj_palyer a abra a do obj_parede, insira o Evento Step e vá no Execute Code como na imagem abaixo :
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
Escreva o seguinte código !
- Código:
// Torna ela atravessavel ou não dependendo na Var pode atravessar
if global.pode_atravessar = true { solid = false } // Se a var for verdadeira então a parede não será sólida
if global.pode_atravessar = false { solid = true } // Se a var for falsa então a parede será sólida !
Com isso finalizamos o Tutorial !
Qualquer dúvida comunique aqui mesmo no tópico
não esqueça de algumas coisas :
* botão "Z" ativa e desativa a var
* botão "X" pula
* Não esqueça de marcar tanto a parede quanto o chão como sólidos
* Não use as sprites sem permissão em projetos ou engines
não esqueça de algumas coisas :
* botão "Z" ativa e desativa a var
* botão "X" pula
* Não esqueça de marcar tanto a parede quanto o chão como sólidos
* Não use as sprites sem permissão em projetos ou engines
Veja como deve ficar o resultado baixe o EXE
Click Aqui Link Direto
Re: Tutorial Mystery : Player Fantasma atravessar paredes
Nossa, gostei muito desse tutorial, tudo bem organizado, com várias imagens, não tem como não entender, e também ele vai ser muito útil para quem quiser adicionar um poder a mais ao personagem do jogo.
Parabéns!
+Reputação!
Até!
Parabéns!
+Reputação!
Até!
Dark Maker- Administrador
- Barra dos usuarios :
Barra de Controle :
Mensagens : 127
Reputação : 3
Data de inscrição : 06/03/2010
Idade : 26
Localização : São Paulo
Tópicos semelhantes
» Mystery se apresentando
» [Tutorial]Dicionário GM
» [Tutorial]Movimento Isométrico
» inimigo seguir o player
» Player select Castlevania SOTN
» [Tutorial]Dicionário GM
» [Tutorial]Movimento Isométrico
» inimigo seguir o player
» Player select Castlevania SOTN
:: Game Maker :: Tutoriais
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
Sáb Fev 25, 2012 4:19 pm por Ferri
» Char Set de Star wars
Dom Fev 05, 2012 12:39 am por carlosulysses
» Olá!!!!!!!!!!!!!!!!
Dom Jan 15, 2012 10:36 pm por ReidoVX
» Olá eu Sou o Rafael
Sex Jan 06, 2012 8:27 pm por modeski
» Criando um Jogo Básico no Game Maker.
Dom Jan 01, 2012 4:59 pm por gabriel188
» ajuda com evente de tiro
Sex Dez 23, 2011 9:37 pm por cledson2010
» Olá pessoal
Ter Dez 20, 2011 7:31 pm por cledson2010
» Sistema RMVX - FPS
Qua Dez 14, 2011 4:00 pm por nunesvinicius52
» ___Duvida ___[GM]
Seg Out 17, 2011 9:57 am por trfn