Nota de compatibilidade GM:S: Remover todo o código do Creation Code na room0.
Olá a todos!eu vim lhes dizer que desenvolvi um novo metodo de colisão, creio eu, que seja muito mais efetivo e com muito maior desempenho do que colisão com objetos.
[nota]estou falando de colisão com o mapa
caso n saibam, pelo que parece o precise collision checking do game maker usar 4 for de area w*h, ou seja, é um tanto lento
quando eu usava c++/allegro, para fazer colisao precisa era necessário usar 4 for
for (int w=0;w< sprite1->w;w++)
for (int h=0;h< sprite1->h;h++)
for (int w2=0;w2< sprite2->w;w2++)
for (int h2=0;h2< sprite2->h;h2++)
if (testPixel(x+w,y+h,sprite2))
if (testPixel(x2+w2,y2+h2,sprite1))
return (true);
return (false);
como podem ver, é um sistema meio lento.
mas para agilizar isso no game maker, eu resolvi tirar proveito das tiles, e usar as tiles como mascara de collisão
[UPDATE]
NOVA VERSÃO
todos os bugs foram corrigidos, novo script para facilitar a checagem foi add.
Download [TC2.0]