Entrar
Últimos assuntos
» Como ajustar velocidade de cada frame da animação no game makerpor Ralphed Ontem à(s) 18:28
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» 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
Tutorial Mystery : Player fantasma atravessar paredes !
+3
simogf
dharrison
Mystery_boy_maker
7 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Tutorial Mystery : Player fantasma atravessar paredes !
Tutorial Mystery
Player fantasma atravessar paredes !
Player fantasma atravessar paredes !
Explicando melhor :
Bom nesse tutorial aproveitando o clima de terror do campeonato de games desse ano 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
spr_personagem_direita
spr_chao
spr_parede
com os seus respctivos nomes !
spr_personagem_esquerda
spr_personagem_direita
spr_chao
spr_parede
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 :
Marque tanto o obj_chao como o obj_parede como visiveis e sólidos como na imagem
Marque tanto o obj_chao como o obj_parede como visiveis e sólidos como na imagem
No objeto Player !!
Feito isso agora vamos no obj_player e iremos add o Evento Create , esse da imagem abaixo :
Proucure na aba " Control " por Code e arraste a Ação " Execute Code " escreveremos o seguinte 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
Proucure na aba " Control " por Code e arraste a Ação " Execute Code " escreveremos o seguinte 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
Agora vamos adicionar o Evento " Step " esse da imagem abaixo :
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
Escreveremos o seguinte código usando o " Execute Code "
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 :
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
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 :
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 :
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
Última edição por Mystery_boy_maker em Dom 28 Nov 2010, 21:19, editado 4 vez(es)
Re: Tutorial Mystery : Player fantasma atravessar paredes !
excelente tutorial, me lembrou o chapéu azul que o Mario usa no Mario 64.
ja sabia uma forma de fazer, mas a sua é mais prática *-*
Parabens
ja sabia uma forma de fazer, mas a sua é mais prática *-*
Parabens
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Nao entendi a parte do Mario 64 mas ...
Bom qual é a forma que você usa pra fazer gostaria de
saber só pra conhecer mesmo
Bom qual é a forma que você usa pra fazer gostaria de
saber só pra conhecer mesmo
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Tpw, no Mario 64 você libera aquelas caixas com ponto de exclamação, (igual no Super Mario World), e a caixa azul libera o Chapéu Azul do Mario, que dá a ele a habilidade de atravessar algumas paredes *-*
Claro, se algum dia eu for fazer isso, eu aviso.
E lhe darei os devidos créditos também.
Claro, se algum dia eu for fazer isso, eu aviso.
E lhe darei os devidos créditos também.
dharrison- Games Ranking :
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Reputação : 120
Número de Mensagens : 1363
Prêmios :
x 0 x 9 x 0
x 0 x 1 x 0
x 0 x 0 x 1
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- C#
Re: Tutorial Mystery : Player fantasma atravessar paredes !
hum agora eu entendi o que voce quis dizer antes
Obrigado , eu aprecio muito os créditos qualquer dúvida em relação
só falar ( escrever ) hehe Obrigado por colaborar com o tópico
Obrigado , eu aprecio muito os créditos qualquer dúvida em relação
só falar ( escrever ) hehe Obrigado por colaborar com o tópico
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Está muito bem explicado parabéns pena que acho que não vou usar em muitos projectos.
Ia ver como ficava e reparei que o exe não da(da not found)
Ia ver como ficava e reparei que o exe não da(da not found)
simogf- Data de inscrição : 30/07/2010
Reputação : 0
Número de Mensagens : 76
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Hum mas mesmo assim obrigado por ler o tutorial
Ah eu corrigi o link agora ja esta funcionando eu tinha errado um argumento e nao tava achando
Ah eu corrigi o link agora ja esta funcionando eu tinha errado um argumento e nao tava achando
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Muito intereçante o tuto, eu para fazer isso usaria um monte de substituições de player, substituição de paredes(nem sei como faria), mas gostei mesmo otimo tuto
peixoto- Games Ranking :
Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Ficou bom o tutorial mas...não seria so fazer a parede nao colisivel ? e fazer o player atraves por cima dela?
Nicolas- Data de inscrição : 23/02/2010
Reputação : 4
Número de Mensagens : 492
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Nicolas escreveu:Ficou bom o tutorial mas...não seria so fazer a parede nao colisivel ? e fazer o player atraves por cima dela?
Se apenas fosse uma parede não colidivel o personagem nunca iria tocar nela e sim
passar direto com esse tutorial o personagem enquanto nao esta com a var desligada
a parede fica colidivel e quando a var esta ligada o player fica transparente e a parede se torna não colidivel entendeu ?
passar direto com esse tutorial o personagem enquanto nao esta com a var desligada
a parede fica colidivel e quando a var esta ligada o player fica transparente e a parede se torna não colidivel entendeu ?
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Mystery_boy_maker escreveu:Nicolas escreveu:Ficou bom o tutorial mas...não seria so fazer a parede nao colisivel ? e fazer o player atraves por cima dela?Se apenas fosse uma parede não colidivel o personagem nunca iria tocar nela e sim
passar direto com esse tutorial o personagem enquanto nao esta com a var desligada
a parede fica colidivel e quando a var esta ligada o player fica transparente e a parede se torna não colidivel entendeu ?
eu, pra fazer o q vc ensino, eu usaria um player principal e ia duplica-lo, no player principal ia por colisao com o objeto parede e colocar pra ele para9com um evento q esqueci o nome) e no otro player eu n ias botas iso, depois botava colisao com objeto e fazia ele deletar o player e criar o otro player, assim daria algo parecido
peixoto- Games Ranking :
Notas recebidas : D
Data de inscrição : 14/02/2010
Reputação : 3
Número de Mensagens : 911
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial Mystery : Player fantasma atravessar paredes !
peixoto escreveu:Mystery_boy_maker escreveu:Nicolas escreveu:Ficou bom o tutorial mas...não seria so fazer a parede nao colisivel ? e fazer o player atraves por cima dela?Se apenas fosse uma parede não colidivel o personagem nunca iria tocar nela e sim
passar direto com esse tutorial o personagem enquanto nao esta com a var desligada
a parede fica colidivel e quando a var esta ligada o player fica transparente e a parede se torna não colidivel entendeu ?
eu, pra fazer o q vc ensino, eu usaria um player principal e ia duplica-lo, no player principal ia por colisao com o objeto parede e colocar pra ele para9com um evento q esqueci o nome) e no otro player eu n ias botas iso, depois botava colisao com objeto e fazia ele deletar o player e criar o otro player, assim daria algo parecido
Mas ao fazer isso o jogo ficaria com bug's horriveis na torca de um objeto para outro , por isso que variaveis são melhores eles funcionam como engrenagens e só dão defeito quando o erro é seu não um bug do Game Maker mesmo
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Estou com uma duvida.
No evento de colisão, ele liga a variavel. Mas nesse caso o jogador vai atravessar a parede mesmo com o Z desligado, porque o evento de colisão verifica se o jogador colidiu em qualquer lugar, incluindo as bordas, e não por dentro do objeto. Como que ele detecta que o jogador não está colidindo por dentro?
No evento de colisão, ele liga a variavel. Mas nesse caso o jogador vai atravessar a parede mesmo com o Z desligado, porque o evento de colisão verifica se o jogador colidiu em qualquer lugar, incluindo as bordas, e não por dentro do objeto. Como que ele detecta que o jogador não está colidindo por dentro?
F. Nizzio- Data de inscrição : 19/07/2008
Reputação : -6
Número de Mensagens : 758
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Tente apertar Z dentro do bloco.
Ele não vai ficar sólido de novo.
Ele não vai ficar sólido de novo.
Mr. Kaleb- Games Ranking :
Notas recebidas : C
Data de inscrição : 07/09/2010
Reputação : 21
Número de Mensagens : 1400
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial Mystery : Player fantasma atravessar paredes !
Você entendeu errado.
No evento de colisão com o bloco da parede, ele ativa a variavel. Mas se ele ativa a variavel ao tocar o bloco, pra que apertar Z?
No evento de colisão com o bloco da parede, ele ativa a variavel. Mas se ele ativa a variavel ao tocar o bloco, pra que apertar Z?
F. Nizzio- Data de inscrição : 19/07/2008
Reputação : -6
Número de Mensagens : 758
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Tutorial Mystery : Player fantasma atravessar paredes !
F. Nizzio escreveu:Você entendeu errado.
No evento de colisão com o bloco da parede, ele ativa a variavel. Mas se ele ativa a variavel ao tocar o bloco, pra que apertar Z?
Bom desculpa a demora em responder bom no evento da colisão com a parede
a var nao é ativa o código apenas verifica se a var estiver ativa a parede
deixar de ser sólida e se não estiver fica sólida percebeu o uso do IF
entao ao tocar na parede a var não muda eu apenas informo o que vai acontecer
quando e se a var estiver ativa
a var nao é ativa o código apenas verifica se a var estiver ativa a parede
deixar de ser sólida e se não estiver fica sólida percebeu o uso do IF
entao ao tocar na parede a var não muda eu apenas informo o que vai acontecer
quando e se a var estiver ativa
Tópicos semelhantes
» { RESOLVIDO}Player nao grudar nas paredes em jogo estilo plataforma !! ?
» .::Tutorial Mp3 player no tópico::.
» Tutorial Criando Media Player
» [Tutorial] Adicionando um Soundcloud Player no Tópico.
» [Tutorial]Criando um edit player para seu jogo
» .::Tutorial Mp3 player no tópico::.
» Tutorial Criando Media Player
» [Tutorial] Adicionando um Soundcloud Player no Tópico.
» [Tutorial]Criando um edit player para seu jogo
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|