Conectar-se

Esqueci minha senha

Últimos assuntos
» [Duvida] O que aprender
Hoje à(s) 02:56 por Thiago Jaqueta

» [DÚVIDA] Colisão de objeto afetar apenas um
Hoje à(s) 02:48 por Thiago Jaqueta

» colisão de queda após outra colisão dando problema
Ter 27 Jun 2017, 20:18 por Willy

» BUILD FAILED: Cannot find BUILD.xml
Seg 26 Jun 2017, 14:50 por ReisBlender

» Nota de esclarecimento - GMBR voltou!
Sex 23 Jun 2017, 20:33 por Willy

» Regras do Fórum
Sex 23 Jun 2017, 19:02 por GMBR

» Retorno da GMBR!!!
Ter 24 Jan 2017, 15:43 por GMBR

» Jogo Dengue HTML
Seg 30 Nov 2015, 16:17 por guga

» Criando IA Simples para inimigos
Qua 25 Nov 2015, 19:22 por DJDAVYD

» Ordenar variavel em ordem decrescente
Sex 28 Ago 2015, 21:09 por Kodained

» Crio Trilha Sonora para Games!
Qui 27 Ago 2015, 13:50 por Isaias Malafaia

» Problema com Colisão
Qui 27 Ago 2015, 12:30 por The_Game

» Quem quer Uma Engine, e de Quê?
Qui 27 Ago 2015, 09:22 por theguitarmester

» [RESOLV]Como adicionar 2 objetos na mesma posição?
Qua 26 Ago 2015, 11:38 por Bhryenno Kelvyn Carlson

» Sistema de porta!!!
Ter 25 Ago 2015, 21:29 por theguitarmester

» Venda de objetos em Inventário - Multiplicado
Seg 24 Ago 2015, 18:33 por AG Hydra

» Atirar na direção certa
Seg 24 Ago 2015, 09:03 por theguitarmester

» Western Duels
Seg 24 Ago 2015, 07:47 por theguitarmester

» Problemas na compilação android
Dom 23 Ago 2015, 23:43 por Zero.

» Dúvida sobre strings, lendo txt
Sab 22 Ago 2015, 20:31 por Pai véi

» Como estabilizar um som
Sab 22 Ago 2015, 19:03 por Isquilo_Roedor

» Janela Modal
Sab 22 Ago 2015, 09:23 por Pai véi

» Sobre instance Creation Code
Sab 22 Ago 2015, 08:39 por Pai véi

» LudumDare #33
Sex 21 Ago 2015, 21:17 por WellingtonBecker

» Como fazer um temporizador
Sex 21 Ago 2015, 19:02 por Isquilo_Roedor

Quem está conectado
31 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 30 Visitantes

Katerp

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36

Bug com colisão

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

Bug com colisão

Mensagem por Isquilo_Roedor em Sex 06 Mar 2015, 20:32

alguem sabe como consertar esse problema, as vezes quando o inimigo arremesa o meu player pra cima e estou perto de uns blocos acontece isso ... = http://imgur.com/ABk7YXQ

(a inteligencia do inimigo é tipo bater no player e jogar ele pra cima e para trás.)

pra quem nao entendeu quando o player é arremessado ele atravessa outros blocos que estão acima dele, isso não deveria acontecer, isso só acontece quando colide com o inimigo se o jogador pular normalmente não buga

aqui está oque uso para colisões

vsp+=grav;
y+=vsp;
x+=hsp;
pular = keyboard_check_(vk_space) [claro que nao ta certo o cmd mas e so pra explicar]

isso é o que checa a parte das colisões

Código:
//se colidir com o bloco obj_blocos que e parente dos blocos,da colisao
if (place_meeting(x,y+vsp,obj_blocos)){
vsp=0;
grav=0;

// aqui em baixo checa se tem algo em cima e nao deixa saltar
if(place_meeting(x,y-16,obj_blocos)){
pular=false;
grav=0;
vsp=0;
}
else{
pular=true;
}
}
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por AxeInLine em Sex 06 Mar 2015, 20:38

O problema, Isquilo, vem de vocês usar as variáveis x e y para mudar a posição do player.
Aconselho-te a usar as built-in hspeed e vspeed para mudar a posição.

Claro, pode ser outro fator que está causando isso, mas, tenta mudar apenas para teste (se lembra que tu vai ter que mudar algumas parte dos códigos para não dar problema).
avatar
AxeInLine

Data de inscrição : 23/03/2014
Número de Mensagens : 211
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Isquilo_Roedor em Sab 07 Mar 2015, 11:11

Acredito que não seja essa a melhor forma de corrigir o problema já que x+=vsp
vspeed e hspeed já estão presentes de uma forma alternativa, mas obrigado pela resposta, esse problema não deveria ocorrer na verdade, porque quando o player está normal nada disso ocorre, mas quando colide com o inimigo ocorre isso:

Código:
//colisão with zumbi
//zumbi1

//normal
if place_meeting(x+1,y,obj_zumbi1){
horn=true
if image_xscale=1 and global.esquerda_inimigo=true {
motion_add(135,6);alarm[0]=8;
}
}

if place_meeting(x-1,y,obj_zumbi1){
if image_xscale=-1 and global.direita_inimigo=true {
motion_add(45,6);alarm[0]=8;
}
}
//invertido
if place_meeting(x+1,y,obj_zumbi1){
horn=true
if image_xscale=1 and global.direita_inimigo=true {
motion_add(45,6);alarm[0]=8;
}
}

if place_meeting(x-1,y,obj_zumbi1){
if image_xscale=-1 and global.esquerda_inimigo=true {
motion_add(135,6);alarm[0]=8;
}
}

da pra ter uma noção do que acontece, ele deveria colidir com o bloco, mas quando o player está em alta velocidade ele simplesmente ignora colisões, já testei isso com um debug que gera velocidade 35 ao meu player, o problema é que ele não colide perfeitamente quando está em uma velocidade alta, eu queria saber como solucionar isso, tipo realizar uma colisão mais perfeita porque quando o player está em alta velocidade ele ignora as colisões ou seja buga tudo (ja disse isso umas 5 vezes né)
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Wendryos em Sab 07 Mar 2015, 11:23

Olá Isquilo.

Porque tanto código assim?

1 - Você poderia tentar só com os dois primeiros.

2 - Você poderia controlar a velocidade: Ex.: if speed>10 {speed=10};


Isso realmente não era para acontecer, que código você usa na colisão?

Edit///

Código:
//se colidir com o bloco obj_blocos que e parente dos blocos,da colisao
if (place_meeting(x,y+1,obj_blocos)){
vsp=0;
grav=0;
}

if (place_meeting(x,y-1,obj_blocos)){
vsp=0;
}
// aqui em baixo checa se tem algo em cima e nao deixa saltar
if place_free(x,y-16){
pular=false;
grav=0;
vsp=0;
}
else{
pular=true;
}


Dei uma organizada no código para você.
avatar
Wendryos

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Isquilo_Roedor em Sab 07 Mar 2015, 11:51

Cara se eu usar o código da forma que está ai não vai funcionar, e já testei sim, até porque vai contra as minhas variáveis, eu queria solucionar o problema de o player não checar a colisão quando esta em uma hspeed ou vspeed muito alta por exemplo 35 e que não seja aplicada pelo player seja utilizando outro fator.
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Wendryos em Sab 07 Mar 2015, 11:58

Cara você testou pelo menos esse código da colisão?
avatar
Wendryos

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Isquilo_Roedor em Sab 07 Mar 2015, 12:07

Sim testei, mas como disse não funcionou e tentei fazer algumas adaptações, mas o meu código é o que funciona melhor com tudo, mas obrigado, eu não quis ofender com o comentário acima
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Wendryos em Sab 07 Mar 2015, 12:10

Inves de x e y você poderia tentar utilizar o hspeed, pois o x muda de posição "bruscamente".

Ex.:
Código:
hspeed=2 friction=0.8


Edit//
Isquilo usa só
Código:
if place_meeting(x+1,y+0,obj2){
horn=true
if image_xscale=1  {motion_add(135,8) friction=0;alarm[0]=8;};
}
//Esquerda
if place_meeting(x-1,y+0,obj2){
if image_xscale=-1  {motion_add(45,8) friction=0;alarm[0]=8;};
}
if horn=false{speed=0;horn=noone};

E não quatro desses...
avatar
Wendryos

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Isquilo_Roedor em Sab 07 Mar 2015, 18:58

O problema é que é necessário usar 4, por que tem que checar a 4 posições para realizar a ação
ou a velocidade nao funciona corretamene, exemplo:

Player indo pra direita (>)
Player indo pra esquerda (<)
Inimigo indo pra direita ({)
Inimigo indo pra esquerda (})

ai vão as posições pra checar

> }
> {
< {
< }

é por isso os quadro, mas se nao entendeu deixa queto kkkkk é complicado mesmo e eu nao sei explicar rsrsr
o friction incomoda o player ao andar, certamente nao é a melhor escolha também, e como eu disse o negocio de hspeed e x está configurado de forma que não muda as coisas já testei e não ficou melhor, mas obrigado por tentar ajudar
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Wendryos em Sab 07 Mar 2015, 20:58

Olha cara eu fiz uma engine desde aquele tempo, e nunca deu problema eu acho que o problema ta em alguma parte do seu código.

Mas eu precisaria testar, creio que se me envia-se sua engine eu arrumaria em segundos...
avatar
Wendryos

Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Zero. em Dom 08 Mar 2015, 10:20

O que você pode fazer é checar a distância entra o jogador e o bloco, e se o valor da vspeed ultrapassar essa distância (se o jogador for entrar no bloc), você leva o obj_jogador até o limite do block e define vsp = 0.
avatar
Zero.

Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Isquilo_Roedor em Dom 08 Mar 2015, 12:36

O seu jeito de pensar parece ser algo que vai dar certo, mas o problema nisso tudo é que eu não sei como escrever esse seu pensamento em código entende
seria tipo assim

if (distance_to_object(obj_blocos)<=1){
transportar player pro limite dos blocos?
o que faço aqui?
}
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Zero. em Dom 08 Mar 2015, 14:40

Distance_to_object não, acho que ficaria melhor um collision_rectangle. Depois vc joga ele até um "point_direction" que você encontrou, onde seria uma "distância segura".
avatar
Zero.

Data de inscrição : 19/08/2010
Número de Mensagens : 1295
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Isquilo_Roedor em Dom 08 Mar 2015, 17:07

Eu estou entendendo o que você quer dizer, mas eu não consigo fazer este pensamento em forma de code, fica meio confuso ,porque são variáveis que nunca usei apesar do meu jogo ser complexo, será q vc poderia fazer um exemplo pra mim ou engine?
avatar
Isquilo_Roedor

Ranking : Nota D
Notas recebidas : E-E-D
Data de inscrição : 22/03/2012
Número de Mensagens : 334
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Bug com colisão

Mensagem por Conteúdo patrocinado


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