Outro Probleminha ¬¬

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Outro Probleminha ¬¬

Mensagem por Gabreel em Dom 14 Out 2012, 00:09

Consegui colocar o tiro parabólico e tudo mais.. Porém, há um pequeno problema com meu sistema de danos.. Vou explicar brevemente:
Quando atiro, tiro o dano do inimigo, o dano aparece em cima da cabeça do inimigo e logo o tiro é destruído, tudo no mesmo evento. Acontece que, quando existem 2 inimigos sobrepostos com o x semelhante ou o mesmo (ainda não conseguir perceber), o hit aparece em cima do inimigo, o tiro é destruído, porém, não é subtraído da vida. Uso um parent para todos os inimigos e segue ele:
Colisão com o objTiro
Código:
var j, n;
j=round((objPersonagem.nivel*10/real(nivel))/(other.image_index+1)+random(objPersonagem.nivel*2/real(nivel)+5))
hp-=j;

n=instance_create(x,y,objHit);
with(n) {
h=j;
}

with(other) {instance_destroy();}
Legenda kkk:
j = hit
n = hit que aparece em cima do inimigo..
h = hit que vai aparecer
hp = HP do inimigo

Só quero que me ajudem a achar uma solução para o decréscimo do hit! E já tentei tirar do parent e colocar no objeto!


Última edição por ·ßieL em Dom 14 Out 2012, 00:34, editado 2 vez(es)

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por PedroX em Dom 14 Out 2012, 00:12

Nenhum deles perde a vida?

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por Gabreel em Dom 14 Out 2012, 00:15

Nenhum.. E ao desenhar o dano na tela só é desenhado um único dano.

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por PedroX em Dom 14 Out 2012, 00:22

with(n) h=j;

O certo seria other.j.

Alguns códigos estão meio confusos. Dá uns pulos de linha pra ficar mais legível.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por Gabreel em Dom 14 Out 2012, 00:29

Melhorou? kk É que programo assim pra economizar espaço na barra de rolagem.. o.o

E valeu pela dica!

(dei outra limpada)

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por PedroX em Dom 14 Out 2012, 00:39

Coloca na colisão Tiro -> Inimigo (essa ordem mesmo):

Código:

with(obj_inimigo)
{
if distance_to_object(other)<2
{
Seu código aqui
}
}

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por Gabreel em Dom 14 Out 2012, 01:33

Ainda não rolou.. x.x

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por PedroX em Dom 14 Out 2012, 16:54

Acontece que uma instância destrói o tiro e não dá tempo da outra tocá-lo. Então você precisa fazer checagem de distância, não colisão.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por Gabreel em Dom 14 Out 2012, 18:14

@PedroX Isso não pode criar vários danos? Bom, vou tentar.

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por Zero. em Dom 14 Out 2012, 18:23

Pode sim criar varias danos, pra isso vc pode por uma variavel que define se o obj levou dano e coloca-la como false quando ele for "hitado" e então criar um alarm pra retornar o valor a true. ficaria assim :

if hitado=false
{
// aqui o evento do dano
hitado=true
alarm[0]=30
}

No alarm :
hitado=false

Espero ter ajudado Happy
Ah e vc pode mudar a sprite do tiro pra uma "explosão" quando ele é destruido assim pegara tb em inimigos próximos.

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por Gabreel em Dom 14 Out 2012, 19:24

Consegui solucionar.. Fiz a checagem de distância pelo step e deu bem certo.. Valeu Pedro.. E valeu FlyAway por ter dado sua parcela de contribuição, pode fechar. (=

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Outro Probleminha ¬¬

Mensagem por Conteúdo patrocinado Hoje à(s) 13:58


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum