Duvida com colisao

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

Duvida com colisao

Mensagem por henriquebr em Ter 13 Mar 2012, 21:24

Ola pessoal, no create do inimigo eu coloquei pra ele ficar movendo p/ frente e quando colidir com o player coloquei um codigo: speed=0 e queria saber que quando o player sair da colisão, ele voltar ao movimento....

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Guisão em Ter 13 Mar 2012, 21:30


Assim dá para saber se os objetos estão colidindo
CÓDIGO:

if place_meeting(x,y,obj)


Se querer verificar a colisão por todos os lados onde está "x" e "y" deixe como está, se querer verificar colisão abaixo !
CÓDIGO:

if place_meeting(x,y+1,obj)

Colisão por cima:
CÓDIGO:

if place_meeting(x,y-1,obj)

colisão pela direita:
CÓDIGO:

if place_meeting(x+1,y,obj)

E colisão pela esquerda:
CÓDIGO:

if place_meeting(x-1,y,obj)


No lugar de "obj" é o nome do outro objeto que será a colisão !

reposta do Denis Lemos, no topico : http://gmbr.forumeiros.com/t7350-como-e-a-colisao-atraves-de-codigos


Guisão

Número de Mensagens : 398
Idade : 19
Data de inscrição : 25/04/2011
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Ter 13 Mar 2012, 21:36

sim, mas como uso isso no meu caso?

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Guisão em Ter 13 Mar 2012, 21:39

coloca no step do enimigo, checando se há uma colisão com o player ai vc podem

Código:

if place_meeting(x,y,obj_player)
speed = 0
else
speed = o que for

o x e y, depende de por onde é a colisao, só olhar o post que eu mandei

Guisão

Número de Mensagens : 398
Idade : 19
Data de inscrição : 25/04/2011
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Ter 13 Mar 2012, 21:53

hmmm mas tipo, mesmo usando os codigos acima nao deu pra especificar direito, se ele ta com a sprite esquerda ele colide normalmente, mas se tiver com a direita ele vira pra esquerda e depois colidi :S

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Guisão em Ter 13 Mar 2012, 21:58

entao voce vai ter que por algo do genero

Código:

if player.direction =>90 and player.direction=<270 and place_meeting(x,y,obj_player) // se o player estiver olhando pra direita e colidindo
spr_index = inimigo_direita// muda a sprite
speed = 0
else // se nao
spr_index = inimigo_esquerda // muda sprite
speed = o que for


pelo que intendi, isso deve arrumar, se tiver alguma duvida avisa

Guisão

Número de Mensagens : 398
Idade : 19
Data de inscrição : 25/04/2011
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Ter 13 Mar 2012, 22:00

nao deu:

FATAL ERROR in
action number 1
of Step Event
for object abobora:

COMPILATION ERROR in code action
Error in code at line 1:
if boneco.direction =>90 and boneco.direction=<270 and place_meeting(x,y,boneco) // se o player estiver olhando pra direita e colidindo
^
at position 22: Unexpected symbol in expression.

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por CLT em Ter 13 Mar 2012, 22:06

henriquebr escreveu:nao deu:

FATAL ERROR in
action number 1
of Step Event
for object abobora:

COMPILATION ERROR in code action
Error in code at line 1:
if boneco.direction =>90 and boneco.direction=<270 and place_meeting(x,y,boneco) // se o player estiver olhando pra direita e colidindo
^
at position 22: Unexpected symbol in expression.

O que você esperava? Você apenas colou o código dele sem fazer modificação, a expressão "o" está sendo identificada como um símbolo desconhecido, tire os comentários do código e teste.



Última edição por Super Games em Ter 13 Mar 2012, 22:19, editado 1 vez(es)

CLT

Ranking : Nota C
Número de Mensagens : 343
Data de inscrição : 06/01/2012
Notas recebidas : B-D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://equipeevolution.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Ter 13 Mar 2012, 22:12

e claro que eu modifiquei O-O e se vc percebeu o erro foi nessa linha ai! LOOOOOOOOOOOL.

Fiz o q vc falou, tirei os coments:

if boneco.direction=>90 and boneco.direction=<270 and place_meeting(x,y,boneco)
sprite_index = abobora_dir;
speed = 0
else
sprite_index = abobora_esq ;
speed = 4

e agora deu outro erro:

___________________________________________
FATAL ERROR in
action number 1
of Step Event
for object abobora:

COMPILATION ERROR in code action
Error in code at line 1:
if boneco.direction=>90 and boneco.direction=<270 and place_meeting(x,y,boneco)
^
at position 21: Unexpected symbol in expression.



Última edição por henriquebr em Ter 13 Mar 2012, 22:16, editado 1 vez(es)

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Guisão em Ter 13 Mar 2012, 22:15

relaxeem ;)

acho que é porque troquei um sinal sem querer

tente ao invez de =>

>= e <=
caso ainda nao de, tente com só igual e veja se esta bom

Guisão

Número de Mensagens : 398
Idade : 19
Data de inscrição : 25/04/2011
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Ter 13 Mar 2012, 22:18

tirei e agora deu erro no else:

___________________________________________
FATAL ERROR in
action number 1
of Step Event
for object abobora:

COMPILATION ERROR in code action
Error in code at line 4:
else
^
at position 2: Unexpected symbol in expression.

:S

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Guisão em Ter 13 Mar 2012, 22:21

haha ta dificiil, dexo ve, poem assim:

Código:


if boneco.direction=>90 and boneco.direction=<270 and place_meeting(x,y,boneco)
sprite_index = abobora_dir;
speed = 0
else
sprite_index = abobora_esq ;
speed = 4

if boneco.direction=>90 and boneco.direction=<270 and place_meeting(x,y,boneco)
{
sprite_index = abobora_dir;
speed = 0
}
else
{
sprite_index = abobora_esq ;
speed = 4
}


e ve se rola

Guisão

Número de Mensagens : 398
Idade : 19
Data de inscrição : 25/04/2011
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por CLT em Ter 13 Mar 2012, 22:25

Então coloque assim no Create:

Código:
global.mover=true

Então coloque assim no Step:

Código:
if global.mover=true
{
speed=4
}

if place_meeting(x,y,inimigo)
{
global.mover=false
}

if global.mover=false
{
speed=0
}

if place_free(x+1,y)
{
global.mover=true
}


CLT

Ranking : Nota C
Número de Mensagens : 343
Data de inscrição : 06/01/2012
Notas recebidas : B-D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://equipeevolution.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Ter 13 Mar 2012, 22:38

@Guisao deu erro de novo, mas vlw ai @Super Game funcionou akI!!! cheers

edit: achei que tinha resolvido, mas nao :S tipo: quando ele colide e tem outro do mesmo que nao ta colidindo ele colide tb (tipo ele colide com um ai ele para, so que outro que ta mas longe ele para tb)

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por CLT em Ter 13 Mar 2012, 22:41

henriquebr escreveu: @Guisao deu erro de novo, mas vlw ai @Super Game funcionou akI!!! cheers

edit: achei que tinha resolvido, mas nao :S tipo: quando ele colide e tem outro do mesmo que nao ta colidindo ele colide tb (tipo ele colide com um ai ele para, so que outro que ta mas longe ele para tb)

Não entendi muito bem o que acontece, mas pode resolver marcando Other.


CLT

Ranking : Nota C
Número de Mensagens : 343
Data de inscrição : 06/01/2012
Notas recebidas : B-D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://equipeevolution.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Qui 15 Mar 2012, 09:49

tipo: tem uma abobora na suafrente ai ela toca em vce para,ai tem outraabobora da mesmanarente etb para, comoconserto?

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por CLT em Qui 15 Mar 2012, 09:58

Como eu disse antes pode ser que resolva marcando Other. Por que irá ocorrer apenas com o objeto da colisão.

Ou se não funcionar você poderia mandar a sua engine que eu ajeito, porque assim tá difícil.

CLT

Ranking : Nota C
Número de Mensagens : 343
Data de inscrição : 06/01/2012
Notas recebidas : B-D
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://equipeevolution.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Eudes - Hyo em Qui 15 Mar 2012, 10:46

Henrique, quando eu quero que algo aconteça com uma
instancia de um objeto, mas que não aconteça com as outras do mesmo tipo,
eu uso a palavra 'self',
só que aí acho q vc não pode usar uma var Global pra indicar se o objeto
pode andar, e sim uma variável Local.

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Sex 16 Mar 2012, 17:48

, como uso esse dois casos? (other, self)

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Eudes - Hyo em Sex 16 Mar 2012, 18:27

se vc está usando aquela variavel que o Super Games disse "global.mover"
e deu certo,

é por isso, vc não deve usar uma var Global, pq aí todas as instancias que usam ela irão ter o memso comportamento ao mesmo tempo.
use uma variável Local no objeto no lugar dessa globla.

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por henriquebr em Sex 16 Mar 2012, 18:53

hmmm cara, era isso mesmo, vlw! topico resolvido!

henriquebr

Ranking : Nota D
Número de Mensagens : 421
Data de inscrição : 03/10/2011
Notas recebidas : D+B+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Duvida com colisao

Mensagem por Conteúdo patrocinado Hoje à(s) 06:17


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