GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» 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

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21


Como fazer com que o herói morra e mude o sprite para ele morto?

4 participantes

Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por Viper7 Qua 02 Dez 2009, 16:58

Olá pessoal, tudo bom?
Eu estou com a seguinte dúvida:

Descrição: No meu jogo, quando o personagem encosta em um espinho ele morre e volta para o início da fase.
Dúvida: Eu quero que, quando o personagem encoste nesse tal objeto, ele mude para um sprite dele morto, fique cerca de 1 segundo com esse sprite, e depois volte para o início da fase com o sprite do personagem normal.
Detalhe: Eu quero que, se o personagem morrer virado para a esquerda, troque para o sprite dele morto virado para a esquerda, e se ele morrer virado para a direita, troque para o sprite dele morto virado para a direita.
O que eu já tentei fazer: No obj_heroi está assim: Add Event -> Colision (obj_espinho) -> jump to the start position; Set The Health Relative To -20; Play Sound Dano. Aí eu tentei fazer isso: Nessa mesma aba de colisão com o obj_espinho eu coloquei Change Sprite e selecionei o Sprite do heroi morto, mas não funcionou, ou funcionou e foi tão rápido que está imperceptível, pois o herói morre e volta muito rápido para o início da fase.

Abraços!
Viper7
Viper7

Data de inscrição : 20/11/2009
Reputação : 0
Número de Mensagens : 82
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por golfinho hipie assasino Qua 02 Dez 2009, 18:46

o esquema de esperar 1 segundo pode ser feito com alarmes...aqui esta um otimo tutorial sobre alarmes https://gmbr.forumeiros.com/game-maker-f36/alarmes-wtf-t3936.htm . não poderei te ajudar com o resto
golfinho hipie assasino
golfinho hipie assasino

Data de inscrição : 22/10/2008
Reputação : 0
Número de Mensagens : 286
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por Viper7 Qua 02 Dez 2009, 18:54

Obrigado golfinho hipie assasimo!!!
Vou fazer o tutorial do alarme.
Se alguém souber resolver o restante das dúvidas, posta aew Very Happy
Viper7
Viper7

Data de inscrição : 20/11/2009
Reputação : 0
Número de Mensagens : 82
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por CPinheiro Qua 02 Dez 2009, 19:25

Você está usando o código do meu tutorial sobre jogos de plataformas? É simples, então.

Se você observar o início daquele código (no evento Create) verá que eu declarei uma variável chamada lado. Se essa variável fosse igual à 1, o personagem estaria virado para a direita. Se fosse 0, estaria virado para a esquerda.

Crie um objeto que seria seu personagem morto. Nele, coloque o sprite dele morto e esse código no evento Create:

Código:

alarm[0] = 1 * room_speed;

Esse código seta o Alarm 0 para 1 multiplicado pela room_speed, que normalmente tem valor igual à 30. Se você ler meu tutorial sobre alarmes, verá que pra obter um segundo, seria necessário colocar 30 ali. Como a room_speed está em 30, 1 seria basicamente o número de segundos. Se você colocar 2 ao invés de 1, demoraria 2 segundos.

Agora, coloque esse código no evento Alarm 0:

Código:
room_restart();
O comando room_restart() faz com que a room seja reiniciada do zero.

Para a questão dos lados, basta colocar o seguinte código no evento Step:

Código:
if (lado == 1) // Se a variável lado for igual à 1
{ //Abre a chave
image_xscale = 1; //Seta a variável image_xscale para 1, ou seja, o sprite fica normal
} //Fecha a chave
else //Se a variável lado NÃO for igual à 1
{ //Abre a chave
image_xscale = -1; //Seta a variável image_xscale para -1, ou seja, inverte o sprite horizontalmente
} //Fecha a chave

Deixei o código bem comentado para que você possa entender e aprender como funciona, e não apenas copiar o código, como muitos fazem. (:

Agora, abra o objeto do jogador. Coloque isso no evento de colisão com os espinhos:

Código:

oo = instance_create(x,y,obj_personagem_morto); //Cria um objeto do personagem morto na posição atual do personagem. oo foi uma variável que guarda a ID do objeto, para que eu possa me referir ao objeto que foi criado, e não a outro de nome igual que exista na room
oo.lado = lado; //Crio uma variável chamada lado no objeto do personagem morto. Nela, damos o mesmo valor da variável lado do personagem, para que fiquem virados para o mesmo lado
sound_play(som_personagem_morto); //Essa linha é opicional, serve pra tocar um som quando o personagem morrer. Se quiser, pode tirar ela
instance_destroy(); //Destroi o objeto do personagem

Well, vamos às explicações. O comando instance_create(posição x, posição y, nome do objeto serve para criar um objeto.
sound_play(nome do som) é outro comando. Este aqui serve para tocar um som que você escolher.
Por fim, instance_destroy() serve para destruir o objeto que executou esse código.

Espero que tenha entendido tudo. Notei que você gosta de usar Drag 'n Drop, então usei códigos de GML bem básicos e expliquei cada um deles, para que você possa iniciar na linguagem facilmente.

Qualquer dúvida ou erro, poste.
CPinheiro
CPinheiro

Data de inscrição : 01/06/2008
Reputação : 0
Número de Mensagens : 1015
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://supermariobrasileiro.blogspot.com

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por Viper7 Qua 02 Dez 2009, 19:42

CPinheiro, o seu tutorial está muito bom. Eu estou lendo os comentários para entender como funciona a programação no Game Maker.

Porém, ocorreu o seguinte erro: Quando o personagem encosta no espinho, ele fica com o sprite dele morto agarrado no espinho e não volta para o início da fase. Acho que teria que colocar em forma de código o evento "Jump to the start position"
---------------------------------
EDIT: Quando o personagem encosta no espinho, aparece ele morto só virado pra esquerda, independente da posição que ele esteja.
Eu estou usando a engine de plataforma que você criou mesmo.


Última edição por Viper7 em Qua 02 Dez 2009, 19:52, editado 2 vez(es)
Viper7
Viper7

Data de inscrição : 20/11/2009
Reputação : 0
Número de Mensagens : 82
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por diassis Qua 02 Dez 2009, 19:50

IRMAIZINHO!!!!
nao sei como você fez o movimento... mas não custa nada ver se isso funciona...

cria um alarme (0), dentro dele você coloca o...
Código:

x=xstart;
y=ystart;
a função de retornar ao local onde a instancia surgiu

na colisão com o espinho...
Código:

if (direction=0)  // se a direção for direita
{
with (other) instance_destroy();  // destroi o espinho
sprite_index=morto_direita;  // troca o sprite para morto direito
alarm[0]=60;
}

if (direction=180)  // se a direção for esquerda
{
with (other) instance_destroy();
sprite_index=morto_esquerda;  // troca o sprite para morto esquerdo
alarm[0]=60;
}

alarm[0]=60 ativa o alarme que você criou anteriormente, o alarme conta 60 passos de tempo para axecultar a ação de retornar ao inicio.

bem!!! não testei aqui. mas é basicamente isso. tenta aí pra ver falow???
diassis
diassis

Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 1 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por Viper7 Qua 02 Dez 2009, 19:56

Beleza diassis, vou tentar o seu método aqui também com outro personagem.
-------------------------------
EDIT: Eu entendi o seu raciocínio diassis, mas eu executei o código e não aconteceu nada, rsrs.. parece que o código não estava no jogo. O que será que aconteceu?
Viper7
Viper7

Data de inscrição : 20/11/2009
Reputação : 0
Número de Mensagens : 82
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por CPinheiro Qua 02 Dez 2009, 20:21

Estranho isso. Era pra estar funcionando.
Nota: pro esquema do image_xscale dar certo, seu sprite tem que estar virado para a direita.

Bem, mude o código da morte para isso:

Código:

oo = instance_create(x,y,obj_personagem_morto); //Cria um objeto do personagem morto na posição atual do personagem. oo foi uma variável que guarda a ID do objeto, para que eu possa me referir ao objeto que foi criado, e não a outro de nome igual que exista na room
oo.lado = lado; //Crio uma variável chamada lado no objeto do personagem morto. Nela, damos o mesmo valor da variável lado do personagem, para que fiquem virados para o mesmo lado
oo.xinicial = xstart;
oo.yinicial = ystart;
sound_play(som_personagem_morto); //Essa linha é opicional, serve pra tocar um som quando o personagem morrer. Se quiser, pode tirar ela
instance_destroy(); //Destroi o objeto do personagem

E isso no alarm 0:

Código:
instance_create(xinicial,yinicial,obj_jogador);

Substitua os códigos.
Era pra ter funcionado antes, mas já que não funcionou, tente agora.
CPinheiro
CPinheiro

Data de inscrição : 01/06/2008
Reputação : 0
Número de Mensagens : 1015
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://supermariobrasileiro.blogspot.com

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por Viper7 Qua 02 Dez 2009, 21:37

CONSEGUI!!! cheers
Grande Mestre CPinheiro, o seu primeiro tutorial está correto, funcionando perfeitamente. Eu tentei fazê-lo novamente aqui e funcionou. Na primeira vez em que eu tentei, eu coloquei alguns comandos em objetos errados. Eu ainda sinto um pouco de dificuldade em trabalhar com códigos, mas eu vou começar a ler o FAQ do Game Maker para aprender a trabalhar melhor com esses códigos.

Mais uma vez, obrigado pela ajuda e obrigado pelos dois tutoriais!
Obrigado também ao diassis, por ter tentado me ajudar!

Um grande abraço a todos!!!
Viper7
Viper7

Data de inscrição : 20/11/2009
Reputação : 0
Número de Mensagens : 82
Prêmios : Como fazer com que o herói morra e mude o sprite para ele morto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://mascotegames.blogspot.com

Ir para o topo Ir para baixo

Como fazer com que o herói morra e mude o sprite para ele morto? Empty Re: Como fazer com que o herói morra e mude o sprite para ele morto?

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos