Entrar
Últimos assuntos
» Problema ao entrar por uma porta e voltar por elapor 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 Inimigo morrer com mais de 1 dano?
+2
Anderson3d
Viper7
6 participantes
Página 1 de 1
Como fazer Inimigo morrer com mais de 1 dano?
Pessoal, eu estou com 2 dúvidas:
1 - Fazer o inimigo morrer com mais de 1 dano. Ou seja: Meu jogo é um jogo de naves, e o herói atira, então eu gostaria de fazer com que o tiro do herói matasse o inimigo com 10 danos, por exemplo.
2 - Após exclarecer a dúvida acima, eu gostaria de deixar uma barra de life em cima do inimigo, perseguindo ele para onde ele for. Sendo 10 o limite máximo da barra de life e a partir do momento em que o inimigo for perdendo life, a barra for mudando de cor, em um processo semelhante a barra de life básica que vem disponível no Game Maker.
Um grande abraço, pessoal!
1 - Fazer o inimigo morrer com mais de 1 dano. Ou seja: Meu jogo é um jogo de naves, e o herói atira, então eu gostaria de fazer com que o tiro do herói matasse o inimigo com 10 danos, por exemplo.
2 - Após exclarecer a dúvida acima, eu gostaria de deixar uma barra de life em cima do inimigo, perseguindo ele para onde ele for. Sendo 10 o limite máximo da barra de life e a partir do momento em que o inimigo for perdendo life, a barra for mudando de cor, em um processo semelhante a barra de life básica que vem disponível no Game Maker.
Um grande abraço, pessoal!
Re: Como fazer Inimigo morrer com mais de 1 dano?
o tutorial do red dragon explica isso direitinho...
Re: Como fazer Inimigo morrer com mais de 1 dano?
Vo resolve o nº que é + facil, o 2 é chatinho ._.
NAVE INIMIGA
CREATE
vida_nave=10 //numero de danos necessarios
STEP
if vida_nave<=0 {
instance_destroy(self)
}
COLISÃO DO TIRO COM A NAVE INIMIGA
other.vida_nave-=1
instance_destroy(self)
NÃO TESTEI, MAS DEVE DAR CERTO
NAVE INIMIGA
CREATE
vida_nave=10 //numero de danos necessarios
STEP
if vida_nave<=0 {
instance_destroy(self)
}
COLISÃO DO TIRO COM A NAVE INIMIGA
other.vida_nave-=1
instance_destroy(self)
NÃO TESTEI, MAS DEVE DAR CERTO
Gabreel- Data de inscrição : 02/10/2009
Reputação : 52
Número de Mensagens : 2232
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 1.4
- Game Maker Studio 2.0
- Javascript
- Outros
Re: Como fazer Inimigo morrer com mais de 1 dano?
vamos ver se consigo te ajudar!!!
no create do inimigo crie uma variavel que será a vida dele e outra para a barra de life:
na colisão coma a bala:
no evento draw do inimigo:
uma coisa que sempre digo aqui é que quando se usa o evento draw, a sprite some então tem que desenha-la também
boa sorte com o jogo e FELIZ FESTAS
no create do inimigo crie uma variavel que será a vida dele e outra para a barra de life:
- Código:
var (vida)=10; // 10 é a vida do inimigo
health=10; // valor da barra de life
na colisão coma a bala:
- Código:
with (other) instance_destroy();
if (vida>0)
{
vida-=1;
health-=1;
}
else
{
instance_destroy();
}
no evento draw do inimigo:
- Código:
draw_sprite(sprite_da_nave,-1,x+0,y+0) // desenhar a prite
draw_healthbar(x+0,y+50,x+64,y+62,health,c_white,16711680,255,0,1,1); // ajuste os valores de x e de y como desejar
draw_text(x+0,y+65,string(vida)) // desenha as vidas da nave, pode ajustar x e y também
uma coisa que sempre digo aqui é que quando se usa o evento draw, a sprite some então tem que desenha-la também
boa sorte com o jogo e FELIZ FESTAS
diassis- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Como fazer Inimigo morrer com mais de 1 dano?
diassis
Seu código está funcionando. A barra está aparecendo junto ao inimigo, mas acontece que a barra do herói, que tinha um tamanho específico, agora está pequena, do mesmo tamanho da barra do inimigo, e quando eu acerto o inimigo o herói também perde life.
Seu código está funcionando. A barra está aparecendo junto ao inimigo, mas acontece que a barra do herói, que tinha um tamanho específico, agora está pequena, do mesmo tamanho da barra do inimigo, e quando eu acerto o inimigo o herói também perde life.
Re: Como fazer Inimigo morrer com mais de 1 dano?
em vez de health-=1 ponha self.health-=1
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Como fazer Inimigo morrer com mais de 1 dano?
Ainda está dando problema.
Eu vou tentar explicar com imagens, para que todos entendam melhor:
O herói possui uma barra de life que tem a quantidade 100 e cheia fica assim:
Ao levar um dano a barra perde 10 pontos desse valor 100, ficando assim:
Ao levar 10 danos o herói morre. Mas acontece que, o herói já está começando com a barra como se estivesse faltando 1 dano para morrer:
Se o herói levar um tiro do inimigo ele morrerá na hora, pois falta apenas 1 dano para ele morrer, mas se ele acertar o inimigo, ele também perde life, mas contando como se essa última barra mostrada fosse a barra cheia, e a partir desse 1/10 de life, começam a contar os 10 danos. Exemplo:
Barra de life com problema após o herói dar alguns danos no inimigo.
Eu acho que um processo semelhante está ocorrendo com o inimigo, pois a barra de life dele também está começando com 1/10 do normal:
Eu vou tentar explicar com imagens, para que todos entendam melhor:
O herói possui uma barra de life que tem a quantidade 100 e cheia fica assim:
Ao levar um dano a barra perde 10 pontos desse valor 100, ficando assim:
Ao levar 10 danos o herói morre. Mas acontece que, o herói já está começando com a barra como se estivesse faltando 1 dano para morrer:
Se o herói levar um tiro do inimigo ele morrerá na hora, pois falta apenas 1 dano para ele morrer, mas se ele acertar o inimigo, ele também perde life, mas contando como se essa última barra mostrada fosse a barra cheia, e a partir desse 1/10 de life, começam a contar os 10 danos. Exemplo:
Barra de life com problema após o herói dar alguns danos no inimigo.
Eu acho que um processo semelhante está ocorrendo com o inimigo, pois a barra de life dele também está começando com 1/10 do normal:
Re: Como fazer Inimigo morrer com mais de 1 dano?
no evento create , vc deve ter colocado health 10, o certo é 100
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Como fazer Inimigo morrer com mais de 1 dano?
Pedro Henrique
Realmente estava 10. Então eu coloquei 100 e agora está lendo como se a barra de life tivesse 100 pontos normalmente. Antes quando eu acertava o inimigo, eu perdia life também e começava a contar os 10 danos a partir do 1/10 de life que aparece. Mas agora o herói morre na hora quando acerta o inimigo, pois os danos estão corretos agora, porque o life já começa com 1/10 e ao acertar o inimigo o herói também está perdendo life e está morrendo.
Resumindo, os problemas que persistem são esses:
- A barra do herói e do inimigo começam faltando apenas 1 dano para o personagem morrer:
Barra do herói
Barra do inimigo:
- Quando o herói acerta o inimigo ele também perde life.
Realmente estava 10. Então eu coloquei 100 e agora está lendo como se a barra de life tivesse 100 pontos normalmente. Antes quando eu acertava o inimigo, eu perdia life também e começava a contar os 10 danos a partir do 1/10 de life que aparece. Mas agora o herói morre na hora quando acerta o inimigo, pois os danos estão corretos agora, porque o life já começa com 1/10 e ao acertar o inimigo o herói também está perdendo life e está morrendo.
Resumindo, os problemas que persistem são esses:
- A barra do herói e do inimigo começam faltando apenas 1 dano para o personagem morrer:
Barra do herói
Barra do inimigo:
- Quando o herói acerta o inimigo ele também perde life.
Re: Como fazer Inimigo morrer com mais de 1 dano?
posta todos os seus codigos de health, ai acharemos os bugs...
Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.
Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.
Aprenda a calcular a velocidade de suas animações
Entre para o Clube do Inglês:
Re: Como fazer Inimigo morrer com mais de 1 dano?
Não se pode usar a variável health para mais de um objeto, pois ela é global... Se vocês tentarem mudar ela em um, vai mudar em todos.
Pra criar uma barrinha de vida que muda a cor bem legal, pode usar o make_color_hsv:
No Create do inimigo iniciamos as variáveis que usaremos, tanto o HP em porcentagem quanto a cor da barra de hp (que no caso, será vermelha).
Se você abrir o Paint e editar uma das cores, verá que 239 e 150 são Matiz e Saturamento do vermelho mais à direita... Então para outras cores, é só mudar isso.
O hp está em porcentagem, então não deve ser alterado... Se quer que ele morra em 10 tapas, faça perder 10% de hp. Diminua 10 em 10 vezes...
No Step, atualizamos a cor da barra para que ela sempre esteja de acordo com a % restante do HP do objeto. Quando o HP mudar, o hpcolor também mudará.
E no Draw desenhamos tudo, de acordo especialmente com o hpcolor.
Uma linha para o fundo branco, uma para o preenchimento, e uma para a borda:
Pra criar uma barrinha de vida que muda a cor bem legal, pode usar o make_color_hsv:
No Create do inimigo iniciamos as variáveis que usaremos, tanto o HP em porcentagem quanto a cor da barra de hp (que no caso, será vermelha).
Se você abrir o Paint e editar uma das cores, verá que 239 e 150 são Matiz e Saturamento do vermelho mais à direita... Então para outras cores, é só mudar isso.
O hp está em porcentagem, então não deve ser alterado... Se quer que ele morra em 10 tapas, faça perder 10% de hp. Diminua 10 em 10 vezes...
- Código:
hp = 100;
hpcolor = make_color_hsv(239,150,hp+100);
No Step, atualizamos a cor da barra para que ela sempre esteja de acordo com a % restante do HP do objeto. Quando o HP mudar, o hpcolor também mudará.
- Código:
hpcolor = make_color_hsv(239,150,hp+100);
E no Draw desenhamos tudo, de acordo especialmente com o hpcolor.
Uma linha para o fundo branco, uma para o preenchimento, e uma para a borda:
- Código:
draw_sprite(sprite_index,image_index,x,y); //Use seu próprio draw_sprite_ext se desejar, é claro
draw_rectangle_color(x-50,y-50,x+50,y-30,c_white,c_white,c_white,c_white,0);
draw_rectangle_color(x-50,y-50,x+50,y-30,hpcolor,hpcolor,hpcolor,hpcolor,0);
draw_rectangle_color(x-50,y-50,x+50,y-30,c_black,c_black,c_black,c_black,1);
Re: Como fazer Inimigo morrer com mais de 1 dano?
Está quase funcionando. Agora eu estou seguindo o raciocínio do kinking.
As barras de life do herói e do inimigo já estão aparecendo na tela e o herói está perdendo energia normalmente. Só que o tiro do herói está atravessando o inimigo e não está acontecendo nada.
Agora falta arrumar a colisão entre o tiro do herói e o inimigo, para fazer o inimigo perder life, morrer e sumir da tela.
As barras de life do herói e do inimigo já estão aparecendo na tela e o herói está perdendo energia normalmente. Só que o tiro do herói está atravessando o inimigo e não está acontecendo nada.
Agora falta arrumar a colisão entre o tiro do herói e o inimigo, para fazer o inimigo perder life, morrer e sumir da tela.
Re: Como fazer Inimigo morrer com mais de 1 dano?
____________EDITADO______________
Viper7 o problema é que health tem um poder global para todos os objetos nesse caso para o obj_inimigo você terá que criar um rectagle e atribuir ele a vida do obj_inimigo e os códigos que te dei é para por somente no inimigo
retire (health-=1; ) da colisão
E retire health=10; do create do inimigo
no draw do obj_inimigo:
// subistituir "obj_inimigo" pelo nome do obj. que você usa
agora vai dar certo
Viper7 o problema é que health tem um poder global para todos os objetos nesse caso para o obj_inimigo você terá que criar um rectagle e atribuir ele a vida do obj_inimigo e os códigos que te dei é para por somente no inimigo
retire (health-=1; ) da colisão
E retire health=10; do create do inimigo
no draw do obj_inimigo:
- Código:
draw_sprite(sprite0,-1,x+0,y+0)
draw_text(x+0,y+80,string(vida))
draw_rectangle_color(x+0,y+50,x+100,y+62,255,255,255,255,0);
draw_rectangle_color(x+0,y+50,x+obj_inimigo.vida,y+62,65280,255,255,65280,0);
// subistituir "obj_inimigo" pelo nome do obj. que você usa
agora vai dar certo
diassis- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Como fazer Inimigo morrer com mais de 1 dano?
diassis escreveu:____________EDITADO______________
Viper7 o problema é que health tem um poder global para todos os objetos nesse caso para o obj_inimigo você terá que criar um rectagle e atribuir ele a vida do obj_inimigo e os códigos que te dei é para por somente no inimigo
retire (health-=1; ) da colisão
E retire health=10; do create do inimigo
no draw do obj_inimigo:
- Código:
draw_sprite(sprite0,-1,x+0,y+0)
draw_text(x+0,y+80,string(vida))
draw_rectangle_color(x+0,y+50,x+100,y+62,255,255,255,255,0);
draw_rectangle_color(x+0,y+50,x+obj_inimigo.vida,y+62,65280,255,255,65280,0);
// subistituir "obj_inimigo" pelo nome do obj. que você usa
agora vai dar certo
Diassis, está aprecendo a seguinte mensagem:
ERROR in
action number 1
of Draw Event
for object disco_verde:
Error in code at line 1:
draw_sprite(sprite0,-1,x+0,y+0)
at position 13: Unknown variable sprite0
Vamos ver se eu entendi o que eu devo fazer: De acordo com a mensagem descrita acima, há um erro porque está pedindo para aparecer o sprite "sprite0" e o mesmo não existe em meu jogo. No caso, esse "sprite0" seria a barra de life que eu teria que desenhar e importar para o jogo?
Gostaria de deixar aqui um muito obrigado a todos do tópico que estão me ajudando.
Re: Como fazer Inimigo morrer com mais de 1 dano?
vou explicar como eu faço no meu jogo
1- crio um obj que sera o inimigo parado (seja esquerda ou direita)
2- esse obj parado tem um radom que faz os movimentos, cria novos objetos e apaga o parado (golpe1,2 ou teleporte por exemplo)
3-sempre que esses objetos sao acertados pelo heroi eles sao destruidos e surge um novo obj, inimigo apanhando.
4-existe uma variavel global que é o life no inimigo
5-sempre que aparece o objeto inimigo apanhando a var global é subtraida..
6-se a ver global chegar a zero ela destroy o inimigo.
1- crio um obj que sera o inimigo parado (seja esquerda ou direita)
2- esse obj parado tem um radom que faz os movimentos, cria novos objetos e apaga o parado (golpe1,2 ou teleporte por exemplo)
3-sempre que esses objetos sao acertados pelo heroi eles sao destruidos e surge um novo obj, inimigo apanhando.
4-existe uma variavel global que é o life no inimigo
5-sempre que aparece o objeto inimigo apanhando a var global é subtraida..
6-se a ver global chegar a zero ela destroy o inimigo.
Re: Como fazer Inimigo morrer com mais de 1 dano?
Na verdade, esse draw_sprite no evento draw é pra desenhar a própria sprite do objeto. Não tem nada a ver com a barra de vida, é que se você fazer seu próprio evento de Draw, o evento padrão que vem com um draw_sprite some. Aí você tem que colocar seu próprio draw_sprite nele, para que apareça a sprite do seu objeto.
Em outras palavras:
Quando você colocou o evento Draw, tirou o código que faz aparecer a sprite dele, e estamos colocando isso de volta com draw_sprite.
EDIT: Então sprite0 tem que ser substituído pela sprite do objeto.
Em outras palavras:
Quando você colocou o evento Draw, tirou o código que faz aparecer a sprite dele, e estamos colocando isso de volta com draw_sprite.
EDIT: Então sprite0 tem que ser substituído pela sprite do objeto.
Re: Como fazer Inimigo morrer com mais de 1 dano?
o KinKing tá coberto de razão "sprite0" é um exemplo, você tem que botá o nome da sprite do objeto inimigo
diassis- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Como fazer Inimigo morrer com mais de 1 dano?
KinKing escreveu:Na verdade, esse draw_sprite no evento draw é pra desenhar a própria sprite do objeto. Não tem nada a ver com a barra de vida, é que se você fazer seu próprio evento de Draw, o evento padrão que vem com um draw_sprite some. Aí você tem que colocar seu próprio draw_sprite nele, para que apareça a sprite do seu objeto.
Em outras palavras:
Quando você colocou o evento Draw, tirou o código que faz aparecer a sprite dele, e estamos colocando isso de volta com draw_sprite.
EDIT: Então sprite0 tem que ser substituído pela sprite do objeto.
CONSEGUI!!!!!!!!!!
kinking, muito obrigado pela ajuda!!!!!
Obrigado também a todos que postaram neste tópico querendo me ajudar!!!!!
Tópicos semelhantes
» [Duvida]Como fazer para o inimigo morrer ...
» [Resolvido]como fazer um efeito de dano no inimigo
» Como fazer o personagem morrer quando colidir com o inimigo?
» Como fazer o inimigo morrer após eu pisar na cabeça dele 5 vezes
» Alguem me ajuda a fazer um "dano" no inimigo
» [Resolvido]como fazer um efeito de dano no inimigo
» Como fazer o personagem morrer quando colidir com o inimigo?
» Como fazer o inimigo morrer após eu pisar na cabeça dele 5 vezes
» Alguem me ajuda a fazer um "dano" no inimigo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|