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
» Servidor de Discord do fórum?
por Super Games Ontem à(s) 01:27

» Problemas com a caixa de diálogo, ela é pequena e as letras não cabem dentro
por Rukasu777 Qui 16 maio 2024, 18:10

» Problemas com particulas
por RastaMaan Dom 12 maio 2024, 17:03

» 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

» 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


Tiro atravessando alvo

+3
mleoni
Willy
makino
7 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Tiro atravessando alvo Empty Tiro atravessando alvo

Mensagem por makino Sáb 21 Set 2013, 22:53

Pessoal meu jogo é meio top down (nao sei dizer como é a expectativa dele) e possui armas e logo possui um tiro,eu quis dar um pouco de realidade e coloquei uma velocidade considerável no tiro,o problema é que eu axo que quando coloco
Código:
x+=100
para mover um objeto isso fazer com que acada freme ele pule 100 pixels,correto? me corrijam se estiver errado,o problema é que alem de parecer qe o tiro está se teleportando para a frente ele acaba atravesando alvos que deverião destruir ele,axo que isso ocorre quando o alvo está entre o 100 pixels que ele pula né ? então se alguem poder me ajudar eu agradeço muito Very Happy


codigo atual :

Create:
CREATE:

No Step:
STEP:

Ta vspeed e hspeed pq eu ja tava tentando outros meios mas aprincipio era x+=velo e talz

Image do ocorrido:
No caso o tiro (bolinha amarela) atravessou o alvo
Tiro atravessando alvo 917lsqs
makino
makino

Data de inscrição : 19/09/2013
Reputação : 0
Número de Mensagens : 16
Prêmios : Tiro atravessando alvo 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

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Willy Sáb 21 Set 2013, 23:45

Ao invés de você usar:
Código:
x+=100;
Use:
Código:
repeat(100){
    x+=1;
}
O problema é justamente o que você falou. Usando repeat, o objeto vai andar 100 px, mas de 1 em 1 em apenas 1 frame.
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

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

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por makino Dom 22 Set 2013, 00:42

vlw ferreiro rsrs (Rag s2) então cara amanha eu testo qe agr ja tou dormindo encima do pc kk
makino
makino

Data de inscrição : 19/09/2013
Reputação : 0
Número de Mensagens : 16
Prêmios : Tiro atravessando alvo 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

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por makino Dom 22 Set 2013, 12:50

não funcionou muito bem Sad parece qe o numero de vezes qe atravessa dminuiu mas continua atravessando as vezes,troquei o 100 pela minha variavel velo,que no caso esta em 60
makino
makino

Data de inscrição : 19/09/2013
Reputação : 0
Número de Mensagens : 16
Prêmios : Tiro atravessando alvo 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

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por mleoni Dom 22 Set 2013, 14:24

Já tentou mp_potential_step ? Ele tem uma opção de velocidade,pode funcionar.
mleoni
mleoni

Data de inscrição : 06/03/2013
Reputação : 23
Número de Mensagens : 81
Prêmios : Tiro atravessando alvo 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

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por cascavelo Dom 22 Set 2013, 14:45

Tem duas soluções:
- Aumente a room_speed, mas pode dar problema com a performance em alguns pcs.

- A melhor e mais simples solução é aumentar a mask do sprite do projétil assim ele sempre vai colidir corretamente.
cascavelo
cascavelo

Games Ranking : Nota A

Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Reputação : 71
Número de Mensagens : 1011
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 1

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

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Isaque Onix Dom 22 Set 2013, 16:28

uma boa ideia, é, colocar o objeto a ser atingido como solido, e usar isso:

Código:
move_contact_solid(direction,-1)
o movimento é rapido, usei em um projeto e deu muito certo!

Ps: você pode tentar assim:

Código:
with(object){solid=true}
with(instance_create(x,y,Bala)){move_contact_solid(direction,-1)}
with(object){solid=false}
falowzzz
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Tiro atravessando alvo 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por makino Seg 23 Set 2013, 13:26

FAIL Sad o tiro se teleporta até o alvo,ate qe o jogo poderia ser assim,o problema qe ele chega e fica colado no alvo e não chega realmente colidir e nada qe esta dentro do colision funciona Sad
makino
makino

Data de inscrição : 19/09/2013
Reputação : 0
Número de Mensagens : 16
Prêmios : Tiro atravessando alvo 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

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Isaque Onix Seg 23 Set 2013, 14:24

nesse caso, é só fazer com que a bala não pare de se mover, colocando um speed ou algo assim... e a bala não se teleporta, ela se move muito rapido, tanto que se tiver outra coisa solida ela para!
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Tiro atravessando alvo 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Kapoty Seg 23 Set 2013, 15:02

Usando a ideia do Willy, faça uma checagem de colisão:

Código:
repeat(100){
x+=1;
if (place_meeting(x,y,obj_alvo)) {
//Colidiu    
}
}
O código do Willy andava de 1px por 1px, mas não checava colisão e continuava pulando o alvo.
Kapoty
Kapoty

Games Ranking : Nota B

Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por makino Seg 23 Set 2013, 19:36

vou tentar quando chegar em casa,ainda bem qe eu ja queria tirar esse colision msm muito amador kk
makino
makino

Data de inscrição : 19/09/2013
Reputação : 0
Número de Mensagens : 16
Prêmios : Tiro atravessando alvo 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

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Rodrigo Santiago Seg 23 Set 2013, 20:12

NÃO FAÇA ISSO!
VAI CONSUMIR A VELOCIDADE DO JOGO
KAPOTY! VOCÊ JA DEVIA SABER ISSO!study 
Sempre lembre de colocar a velocidade máxima menor ou igual ao número de pixeis da sprite que serve de colisão(mask).

x+=100 é o mesmo que:
Código:

repeat(100){
x+=1
}
Usando o método do Kapoty você vai fazer seu jogo desabar em frames! 100 verificações de colisão por step em cada bala!
Você pode fazer assim:
Código:

var xpre,ypre, xx,yy;
xpre=x;
ypre=y;
x+=legthdir_x(100,dir)
y+=legthdir_y(100,dir)
if collision_line(xpre,ypre,x,y,all,1,-1) {
x=xpre;y=ypre;
for(i=1;i<=100;i+=8){//SENDO 8 o tamanho da sprite, pra economizar
 xx=x+legthdir_x(i,dir)
 yy=y+legthdir_y(i,dir)
   if (place_meeting(xx,yy,obj_alvo)) {
    //Colidiu    
    }//repita else if para mais outros objetos
 }
}
Desse modo você economizará 'verificação de colosão', almentando a velocidade , DRASTICAMENTE VIU KAPOTY...
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Isaque Onix Seg 23 Set 2013, 20:21

Ainda acho que meu metodo é melhor, Olha aí como fica
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Tiro atravessando alvo 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Kapoty Seg 23 Set 2013, 23:16

Quanta raiva, na verdade eu já sabia disso, mas sempre fiz assim e nunca perdi FPS.
Mas gostei do seu método, é melhor mesmo.
Kapoty
Kapoty

Games Ranking : Nota B

Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Isaque Onix Ter 24 Set 2013, 10:14

Raiva? eu? não... Cool
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Tiro atravessando alvo 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Willy Ter 24 Set 2013, 13:11

Isaque, acho que o Kapoty tava falando do Rodrigo...sorrindo 
Enfim...

Rodrigo escreveu:Usando o método do Kapoty você vai fazer seu jogo desabar em frames! 100 verificações de colisão por step em cada bala!
De certo modo você está certo, realmente vai ter uma quantidade de verificações a cada step, entretanto, o consumo de memória é minimo e não apresenta risco ao desempenho do jogo. Quem sabe se tiver uma centena de objetos...
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

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

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Rodrigo Santiago Ter 24 Set 2013, 21:43

Programando no GameMaker você tem que aproveitar ao máximo as frames.
Talvez seu jogo não tem problemas agora, pois ainda não esta pronto, mais quando tiver todos os menus, npc, objetos de controle e paredes , ai sim você notará a diferença.
Rodrigo Santiago
Rodrigo Santiago

Games Ranking : Nota B

Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Reputação : 73
Número de Mensagens : 1281
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 3 Prata x 1 Bronze x 3

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

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Willy Qua 25 Set 2013, 00:57

Bom, eu nunca fiz um teste "real" de desempenho, mas posso te afirmar que durante toda minha carreira com GM eu usei esse método e nunca tive problemas, e olha que meu computador é beeeem modesto. --\'
Mas enfim, desempenho não é o foco deste tópico, usar ou não fica a critério do autor.
Flws...
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : Tiro atravessando alvo Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

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

http://willy-gmbr.blogspot.com/

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por makino Qua 25 Set 2013, 12:29

onix to testando com o seu msm,pq com o do rodrigo o tiro vai dps qe o personagem desencosta dele,o problema é qe com o seu quando o alvo esta junto a min (proximo,colidido) o tiro simplesmente n o afeta,aguardo resposta e obrigado a todos os outros qe tentaram me ajudar Very Happy
makino
makino

Data de inscrição : 19/09/2013
Reputação : 0
Número de Mensagens : 16
Prêmios : Tiro atravessando alvo 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

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Isaque Onix Qua 25 Set 2013, 14:02

só fazer com que ele continue se movendo, com um speed...
Isaque Onix
Isaque Onix

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 15/08/2010
Reputação : 147
Número de Mensagens : 1625
Prêmios : Tiro atravessando alvo 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
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Unity
  • C#
  • Outros


http://spyreserver.16mb.com

Ir para o topo Ir para baixo

Tiro atravessando alvo Empty Re: Tiro atravessando alvo

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

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