Conectar-se
Quem está conectado
24 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 22 Visitantes

Thiago Jaqueta, Zero.

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 01:15
Código:
move_contact_solid(direction,10) <<

O que interfere o 10 nesse código? Sei que é a direção, mas variá-la muda em quê? :oops:
avatar
Ranking : Nota B
Notas recebidas : B+A
Data de inscrição : 26/11/2010
Número de Mensagens : 474
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 23

Prêmios
   : 0
   : 1
   : 1
Ver perfil do usuáriohttp://www.google.com.br

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 01:25
bem legal esse codigo n sabia q ele existia
testei agora ele como um exemplo de contato com player e uma parede
tirei o solid da parede e esse move_contact_solid dai funciono
parece q ele fundiona assim
ele move o objeto q vc quise pra direção q vc quise e com a velocidade q vc quise
a velocidade seria o 10 e a direção o direction
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 05:38
acho que num é isso não viu véi... ele bloqueia o objeto de passar por dentro, mas esse fator que eu falei eu mudo e não influencia nada... pra que serve afinal?
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 07:46
Hmm... Se não me engano, o 10 é a vspeed.

Dei uma sacada no arquivo de ajuda, o 10 é a distância máxima:
Trecho do arquivo de ajuda traduzido escreveu:move_contact_solid(dir,maxdist) Move a instância na direção até uma posição de contato com um objeto sólido for alcançado. Se não há colisão na posição atual, a instância é colocada apenas antes de uma colisão ocorrer. Se lá já houver uma colisão a instância não é movida. Você pode especificar uma distância máxima para mover (use um número negativo para uma distância arbitrária).
Você devia ter feito o mesmo Happy
avatar
Data de inscrição : 30/12/2009
Número de Mensagens : 1344
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://sitedosjogos.forumeiros.com

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 09:40
entendi

o 10 é uma distancia maxima

ou seja, se estiver numa distancia menor que 10, ele anda e faz o "contato", se tiver mais longe, não

eu tenho essa duvida desde que.... sei la, faz muito tempo mas eu tenho muitas duvidas e não gosto de criar topicos pq ninguem responde xD
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6036
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 09:44
isso faz com que o objeto mova essa distancia para fora do bloco na direcao escolhida...
ou seja ele vai mover 10 pixels na direcao direction...

FLW
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 177

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 09:55
Vou tentar resumir, o 10 a é distância máxima que o objeto pode ir caso estiver coledindo com um objeto sólido. Ou seja, no caso de ele "enroscar" em algum objeto sólido ele imediatamente retorna 10 pixels a posição livre.

Exemplo:

-Faça sprites de tamanho 32x32;
-Faça um objeto sólido e um objeto player;
-no step do player coloque:

Código:
 x+=4

-Na colisão do player com o objeto sólido:

Código:
move_contact_solid(direction,10)

coloque eles na room com pelo menos 100 pixels de distância e na mesma altura (y).

Você irá perceber que o player ao colidir com o objeto sólido retorna 10 pixels antes da colisão. Faça o teste e mude o 10 para 64.

Basicamente exemplificando é isso um anti-bug XD.

FLWS!
avatar
Ranking : Nota B
Notas recebidas : B+A
Data de inscrição : 26/11/2010
Número de Mensagens : 474
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 23

Prêmios
   : 0
   : 1
   : 1
Ver perfil do usuáriohttp://www.google.com.br

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 12:12
@Pedro Henrique escreveu:isso faz com que o objeto mova essa distancia para fora do bloco na direcao escolhida...
ou seja ele vai mover 10 pixels na direcao direction...

FLW
olha pra mim eh isso msm q ele falo n pode se chamado de velocidade
mais esse 10 eh a certa distancia q ele move quando incosta com o otro objeto
avatar
Data de inscrição : 19/03/2008
Número de Mensagens : 267
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Duvida sobre move_contact_solid e direção

em Seg 20 Dez 2010, 18:34
Anderson3d todos estão certos entretanto o que a melhor explicação para este comanda é o próprio nome dele.

move_contact_solid

movo-me ate encostar em um sólido

como Alex FC disse serve exatamente como um anti-bug.

maxdist pode ser interpretado como speed? Sim e não.

Sim porque. se você usar ele no lugar do script de movimentação ele vai andar sua velocidade a cada step que ele executar o comando. só lembrando que se você for usa-lo deixe seu speed em 0 (zero) porque se não ele se move duas vezes.

Não porque no caso de ele encontrar um obj sólido no meio do caminho ele para antes te entrar um dentro do outro. por isso cuidado porque se você precisar que os objs se encostem isso não ira acontecer, para que eles encostem o obj tem que no mínimo andar mais 1 pixel então deixe a speed em 1 (um).


existe um problema clássico nos jogos de tiro top-donw (visão por cima) que é o seguinte:

você cria uma bala que tem uma mascara de 1px por 1px e coloca uma speed e uma directon nela entretanto se essa bala for muito rápida ela atravessa a parede. porque se por exp. seu speed for de 80 e sua parede tiver apenas 32px de largura sua bala pula a parede sem bater nela porque uma ora ela esta antes da parede e na outra ela pula os 80px sem percorrer todo o caminho. agora usando move_contact_solid a bala se move até encostar na parede e deixando a speed em 1 a bala encosta nela sem atravessa-la.
avatar
Ranking : Nota A
Notas recebidas : A - A
Data de inscrição : 15/02/2009
Número de Mensagens : 1479
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttp://www.indiegamebr.com

Re: Duvida sobre move_contact_solid e direção

em Ter 21 Dez 2010, 22:22
Puxa obrigado a todos, agora sim entendi essa bagaça! Happy
Realmente é um anti-bug. perfeito apra arrumar as colisões com paredes.
vcs são os mestres hehehe... cheers
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum