Conectar-se
Quem está conectado
17 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 17 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 26/10/2012
Número de Mensagens : 32
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

GMS 1.4.x: Como alterar a máscara de Colisão?

em Sab 18 Nov 2017, 20:04
eu estou a usar 1 sprite só para máscara de Colisão de paredes. então fiz 1 rectangulo de tamanho aleatório só com 1 unica cor de fundo.
como sabemos as paredes podem ter diversos tamanhos. então fiz esta Script:
Código:
///SetCollisionMask(Sprite, Width, Height, Distance);
distance=argument3; //entre jogador e a parede
Width=argument1;
Height=argument2;

// - duplico a sprite e aplico-a no objecto:
sprite=sprite_duplicate(argument0);
self.sprite_index=sprite;

// - altero o tamanho da sprite:
//a Distance é multiplicado por 2 para dar o mesmo efeito em ambos os lados:
self.image_xscale=(Width+distance*2)/self.sprite_width;
self.image_yscale=(Height+distance*2)/self.sprite_height;

//quero centrar a Sprite:
sprite_set_offset(self.sprite_index,(Width+distance*2)/self.sprite_width/2,(Height+distance*2)/self.sprite_height/2+distance/2);
a centrlização da Sprite não me faz sentido, mas parece funcionar normal.
alguém me pode explicar melhor como se usa esta função?
porque eu pensava que:
Código:
self.sprite_height/2
era o suficiente para centrar a largura da Sprite.


Última edição por Cambalinho em Sab 18 Nov 2017, 20:12, editado 1 vez(es) (Razão : notificar-me quando alguém me responder)
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