• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Legacy GM move_contact_solid not working with Spine

Okay, I was trying to make a slope by using move_contact_solid, and it works perfectly fine with objects with sprites made with Game Maker

However when I use the very same object, setting its sprite with the ones I loaded with json files made with Spine, the move_contact_solid code wouldn't work properly with rotated objects, or ones with precise collision.

So in the end this happens.
I have 2 objects A and B-
A is an object with the sprite I made with Game Maker,
while B is an object with the sprite I loaded with Spine json files

And when I do this;
Create :
move_contact_solid(270,1000)

A properly collides with the solid objects according to its current mask, but the B seem to be colliding with thin air.. I mean, the solid object's original collision box before it rotated.

Oh and setting precise collision would make B fall through the solid object while the black ones don't.

The only difference between A and B are the sprites - not masks -
and I don't get why this is happening.

Any solutions?
 
Last edited:

Nocturne

Friendly Tyrant
Forum Staff
Admin
Do both instances use the same collision mask sprite? You can assign a separate collision mask sprite to instances which will probably resolve this for you.... As for the issue itself, I suspect it's because the normal sprite mask data is ignored when using spine as the collision mask is actually calculated based on the masking set up within spine itself.
 

Yes, I tried it. The circles are the mask sprites I set, drawn with
draw_sprite_ext(mask_index,0,x,y,1,1,0,c_aqua,0.5);
and well. This is what happened.

Do both instances use the same collision mask sprite? You can assign a separate collision mask sprite to instances which will probably resolve this for you.... As for the issue itself, I suspect it's because the normal sprite mask data is ignored when using spine as the collision mask is actually calculated based on the masking set up within spine itself.
 
Top