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
» 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
» 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
Personagem encostando em seu inimigo, e não está acontecendo nada!
+3
Sr. Sinistro
Rhino
Klash
7 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Personagem encostando em seu inimigo, e não está acontecendo nada!
Estou criando um jogo que eu vi na NET, só que estou com um problema. Quando o personagem encosta em seu inimigo não acontece nada, o certo seria, se ele encostar, ele perde ou volta ao início. Como faço para com certar isso?
Uma imagem para ter a noção do jogo que eu estou criando:
Grato!
Uma imagem para ter a noção do jogo que eu estou criando:
Grato!
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Você pode usar os comandos room_restart, pois assim, quando o personagem encostar no inimigo, automaticamente a room irá reiniciar, assim como tudo que está nela. Por exemplo:
Evento de Colisão do personagem com o inimigo:
Não sei se você quer que a room reinicie também, mas com este código, o personagem volta pro começo dela também.
Evento de Colisão do personagem com o inimigo:
- Código:
room_restart() //Tudo na room irá ficar do jeito que você programou
Não sei se você quer que a room reinicie também, mas com este código, o personagem volta pro começo dela também.
Rhino- Games Ranking :
Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Huumm, deu certo!Rhino escreveu:Você pode usar os comandos room_restart, pois assim, quando o personagem encostar no inimigo, automaticamente a room irá reiniciar, assim como tudo que está nela. Por exemplo:
Evento de Colisão do personagem com o inimigo:
- Código:
room_restart() //Tudo na room irá ficar do jeito que você programou
Não sei se você quer que a room reinicie também, mas com este código, o personagem volta pro começo dela também.
Eu quero fazer assim agora:
1 - Colocar uma bandeira no final, e quando o personagem chegar lá ele passa de fase.
Objetivos:
1 - Colocar uma bandeira.
2 - Criar uma 2 fase.
3 - Quando passar pela fase 2 aparecer: "Parabéns! Você venceu".
Como posso fazer tudo isso?
Sou iniciante (:
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
1 - Evento de colisão do player com a bandeira
2 - É só criar mais uma room, após a primeira
3 - No evento de colisão do player com a bandeira, coloca:
- Código:
room_goto()//Dentro dos parênteses coloca a próxima room
2 - É só criar mais uma room, após a primeira
3 - No evento de colisão do player com a bandeira, coloca:
- Código:
show_message('')//Dentro das aspas coloque Parabéns, você venceu!
Sr. Sinistro- Data de inscrição : 23/06/2009
Reputação : 8
Número de Mensagens : 542
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Você pode fazer como o Edu4 falou, caso o objeto_bandeira seja quem vá controlar a passagem entre uma room ou outra.
Caso você queira que, por exemplo, ao sair da room, você passe de fase, você pode usar o comando Outside Room e colocar dentro dele:
Outside Room
É claro que se você fizer isso, tenha cuidado caso seu jogo possua buracos, pois dai você teria que criar um objeto para fazer com que o jogador morra e não deixá-lo passar para a próxima room!
Caso você queira que, por exemplo, ao sair da room, você passe de fase, você pode usar o comando Outside Room e colocar dentro dele:
Outside Room
- Código:
room_goto(nome_da_próxima_room) //Faz com que você vá a uma room especificada
É claro que se você fizer isso, tenha cuidado caso seu jogo possua buracos, pois dai você teria que criar um objeto para fazer com que o jogador morra e não deixá-lo passar para a próxima room!
Rhino- Games Ranking :
Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Para colocar vidas, basta colocar no Create:
vidas=3 //Define as vidas para 3
Agora, na colisão com o inimigo:
//Tira uma vida e reinicia room
vidas -=1
room_restart()
vidas=3 //Define as vidas para 3
Agora, na colisão com o inimigo:
//Tira uma vida e reinicia room
vidas -=1
room_restart()
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
As 2 eu consegui fazer, só a 3 que não entendi. Tem como explicar em detalhes como fazer?Edu4 escreveu:1 - Evento de colisão do player com a bandeira
- Código:
room_goto()//Dentro dos parênteses coloca a próxima room
2 - É só criar mais uma room, após a primeira
3 - No evento de colisão do player com a bandeira, coloca:
- Código:
show_message('')//Dentro das aspas coloque Parabéns, você venceu!
Eu sou iniciante!
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Evento de colisão do player com a bandeira:
- Código:
show_message('Parabéns, você venceu!')
andreh- Games Ranking :
Notas recebidas : C
Data de inscrição : 09/03/2011
Reputação : 3
Número de Mensagens : 183
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Consegui, apareceu uma tela " Parabéns, você venceu!, ai tem a opção de clicar em OK, só quando clica não sai do jogo.andreh escreveu:Evento de colisão do player com a bandeira:Quando o player colidir com a bandeira vai dar essa mensagem, mas preste atenção, vc vai ter q fazer 2 bandeiras, uma pra passar de fase e outra pro fim do jogo, senão ele vai dar a mensagem e ainda passar pra proxima room.
- Código:
show_message('Parabéns, você venceu!')
Como faço isso?
Quando clicar em OK, aparece outra tela "Deseja continuar?", ai vai ter as opções "Sim" e "Não". Se apertar "Sim", começa de novo. Se apertar "Não" fecha a janela.
Mais duas pergunta!
1 - Se o personagem encostar volta ao começo. Como eu faço para mudar isso? Quero fazer assim:
Quando encostar no personagem perde 1 vida e volta ao começo.
OBS.: Tem que fazer as vidas que ele tem!
2 - Como colocar som?
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Sobre a mensagem faça isso:
Sobre a vida:
Create do player:
Colisão do player com o inimigo:
Marque a room como persistent
Sobre o som: Você quer som de fundo ou efeito sonoro?
- Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else
if mensagem = 3
{game_end()}
Sobre a vida:
Create do player:
- Código:
lives = 3 //Mude o 3 para o numero de vida que vc quiser
Colisão do player com o inimigo:
- Código:
if lives>1
lives -= 1
room_restart()
else
show_message('Você perdeu!')
game_restart()
Marque a room como persistent
Sobre o som: Você quer som de fundo ou efeito sonoro?
andreh- Games Ranking :
Notas recebidas : C
Data de inscrição : 09/03/2011
Reputação : 3
Número de Mensagens : 183
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
1 - Apareceu a mensagem, só que quando clica em "Continuar" ou "Sair" não acontece nada.andreh escreveu:Sobre a mensagem faça isso:
- Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else
if mensagem = 3
{game_end()}
Sobre a vida:
Create do player:
- Código:
lives = 3 //Mude o 3 para o numero de vida que vc quiser
Colisão do player com o inimigo:
- Código:
if lives>1
lives -= 1
room_restart()
else
show_message('Você perdeu!')
game_restart()
Marque a room como persistent
Sobre o som: Você quer som de fundo ou efeito sonoro?
2 - Como assim Create do Player?
3 - Como faço essa colisão do Player com o Inimigo? Tem várias opções "Move Fixed" etc.
4 - Efeito sonoro!
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Hmmm... Acho que colocar o if na linha do else resolveria.
O evento Create. Você sabe o que é um evento Create, não sabe? Add Event -> Create
Colisão é com eventos, não com ações. Add Event -> Collision -> (Escolha o objeto que vai colidir) -> Coloque o código lá
- Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else if mensagem = 3
{game_end()}
O evento Create. Você sabe o que é um evento Create, não sabe? Add Event -> Create
Colisão é com eventos, não com ações. Add Event -> Collision -> (Escolha o objeto que vai colidir) -> Coloque o código lá
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
1 - Pra fazer uma janela de perguntas no Game Maker, você precisa fazer o seguinte:
2 - O Create do Player que ele se refere é ao Evento Create, cujo o símbolo é uma lâmpada. Nele, você deve declarar as variáveis que você quer que sejam usadas tanto nele (variáveis comuns) como em todos os objetos (variáveis globais).
3 - Para criar um Evento de Colisão, você tem que clicar em Add e depois naquelas duas setinhas vermelhas. Nisso, você deve especificar com qual objeto que você quer fazer a colisão. No caso, seria com o seu inimigo, portanto, na hora de selecionar o objeto, selecione o objeto_inimigo.
4 - Para adicionar um efeito sonoro, você pode ir na pasta Sounds, criar o som, depois clicar em Load Sound e escolher o som desejado. Se for uma música de fundo, selecione a opção (que fica logo abaixo) "Background Music" ou se for um efeito sonoro comum, como som de pontos, por exemplo, selecione "Normal Sound".
EDIT: Verdade Markituh, comi bola ali. Valeu pela correção.
- Código:
switch (show_message_ext("Parabéns, você venceu! Gostaria de continuar?","Sim","","Não"))
{
case 1:
room_goto(nome_da_room)
break
case 3:
//alguma ação que você quer que ocorra caso a opção escolhida seja NÃO
break
}
2 - O Create do Player que ele se refere é ao Evento Create, cujo o símbolo é uma lâmpada. Nele, você deve declarar as variáveis que você quer que sejam usadas tanto nele (variáveis comuns) como em todos os objetos (variáveis globais).
3 - Para criar um Evento de Colisão, você tem que clicar em Add e depois naquelas duas setinhas vermelhas. Nisso, você deve especificar com qual objeto que você quer fazer a colisão. No caso, seria com o seu inimigo, portanto, na hora de selecionar o objeto, selecione o objeto_inimigo.
4 - Para adicionar um efeito sonoro, você pode ir na pasta Sounds, criar o som, depois clicar em Load Sound e escolher o som desejado. Se for uma música de fundo, selecione a opção (que fica logo abaixo) "Background Music" ou se for um efeito sonoro comum, como som de pontos, por exemplo, selecione "Normal Sound".
EDIT: Verdade Markituh, comi bola ali. Valeu pela correção.
Última edição por Rhino em Sáb 30 Abr 2011, 15:55, editado 1 vez(es)
Rhino- Games Ranking :
Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
1 - Mas eu testei e deu certo, vc não tirou nd do código né?
2 - Evento Create do objeto player
3 - Abra o objeto player > Add Event > Collision > objeto inimigo
Então coloque o código q eu falei antes.
4 - Na colisão com alguma coisa (o mesmo esquema de cima), coloque o código:
Testa ae e fala o resultado
2 - Evento Create do objeto player
3 - Abra o objeto player > Add Event > Collision > objeto inimigo
Então coloque o código q eu falei antes.
4 - Na colisão com alguma coisa (o mesmo esquema de cima), coloque o código:
- Código:
sound_play(nome do som)
Testa ae e fala o resultado
andreh- Games Ranking :
Notas recebidas : C
Data de inscrição : 09/03/2011
Reputação : 3
Número de Mensagens : 183
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Em verdade Rhino, a sua declaração switch está equivocada. A função só retorna 0 caso for pressionado ESC, 1 para a primeira opção, 2 para a segunda e 3 para a terceira. E já que temos o Sim na primeira, a segunda vazia, e o Não na terceira, os cases iam ser 1 e 3. Usar switch é um método prático, então se quiseres:
- Código:
switch (show_message_ext("Parabéns, você venceu! Gostaria de continuar?","Sim","","Não"))
{
case 1:
room_goto(nome_da_room)
break;
case 3:
//alguma ação que você quer que ocorra caso a opção escolhida seja NÃO
break;
}
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Sim, eu sei que é para fazer isso. Add Event > Collision > Escolher o objeto. Só que eu não sei onde colocar esse código. Eu tenho que clicar em "Move Fixed", "Move Free", aonde?Markituh escreveu:Hmmm... Acho que colocar o if na linha do else resolveria.
- Código:
mensagem = show_message_ext('Parabéns, você venceu! Deseja continuar?','Sim','','Não')
if mensagem = 1
{game_restart()}
else if mensagem = 3
{game_end()}
O evento Create. Você sabe o que é um evento Create, não sabe? Add Event -> Create
Colisão é com eventos, não com ações. Add Event -> Collision -> (Escolha o objeto que vai colidir) -> Coloque o código lá
Tem MSN para poder ajudar melhor?
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Não, não. O q estamos te passando são códigos. Códigos vc coloca em outro lugar. Veja o retangulo maior q vc marcou na sua foto, no canto direito dele tem varias abas, clique na aba Control, nessa aba, vai ter um icone com uma pasta desenhada, se vc deixar o mouse sobre o icone vai aparecer o nome "Execute Code", é aí q vc coloca o q a gente te passou!
andreh- Games Ranking :
Notas recebidas : C
Data de inscrição : 09/03/2011
Reputação : 3
Número de Mensagens : 183
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Agora sim (:andreh escreveu:Não, não. O q estamos te passando são códigos. Códigos vc coloca em outro lugar. Veja o retangulo maior q vc marcou na sua foto, no canto direito dele tem varias abas, clique na aba Control, nessa aba, vai ter um icone com uma pasta desenhada, se vc deixar o mouse sobre o icone vai aparecer o nome "Execute Code", é aí q vc coloca o q a gente te passou!
Deu tudo certo. Apenas uma problema!
if lives>1
lives -= 1
room_restart()
else
show_message('Você perdeu!')
game_restart()
Executei o jogo, e deu erro na linha 4 else. O que eu faço?
Como eu coloco um menu em cima mostrando quantas vidas o player tem?
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Sempre use "{" depois dos códigos e sempre termine com "}". São as famosas chaves. Assim, você evita de gerar possíveis bugs. No caso, vai ficar assim:
- Código:
if lives>1
{
lives -= 1
room_restart()
}
else
{
show_message('Você perdeu!')
game_restart()
}
Rhino- Games Ranking :
Notas recebidas : C-B
Data de inscrição : 17/04/2010
Reputação : 11
Número de Mensagens : 136
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Personagem encostando em seu inimigo, e não está acontecendo nada!
Fiz isso, só que quando ele encosta 3 vezes no inimigo, apenas aparece "Você perdeu". Eu quero colocar o menu em cima, mostrando o tanto de vidas que o player tem.Rhino escreveu:Sempre use "{" depois dos códigos e sempre termine com "}". São as famosas chaves. Assim, você evita de gerar possíveis bugs. No caso, vai ficar assim:
- Código:
if lives>1
{
lives -= 1
room_restart()
}
else
{
show_message('Você perdeu!')
game_restart()
}
Página 1 de 2 • 1, 2
Tópicos semelhantes
» O que está acontecendo afinal ? Consegui fazer o game maker entrar em "contradição" de argumentos externos ?
» [Pergunta]O Que está acontecendo no meu GM8.1?
» Player esta atravessando o inimigo??! AJUDA!!!
» checar se evento não esta acontecendo
» Oque pode está acontecendo ?
» [Pergunta]O Que está acontecendo no meu GM8.1?
» Player esta atravessando o inimigo??! AJUDA!!!
» checar se evento não esta acontecendo
» Oque pode está acontecendo ?
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos