Когда я искал о функции привязки сетки. На самом деле это Tile Collide. (Возможно, вы знаете, что я изучаю GMS2 из-за тегов ..)
Это не важно для моего вопроса.
В погоне, я узнал об этой формуле.
pos.x - (pos.x % gridwidth) <- this is number calculation.
Это сработало хорошо, что я хочу. И я нашел другую формулу.
Эта формула работает для столкновения объектов и плиток.
(pos.x)&~(gridwidth-1) <- this is binary calculation.
И у него такая же работа. Что происходит?? Я не могу понять, как эти формулы преобразуются ..
На самом деле я понимаю, что '&' имеет ту же самую работу с вычитанием.
Но я не понимаю других.
например
var f1,f2;
var pos_x = 102;
var gridwidth = 64; // It must be even power of 2.
f1 = pos_x - (pos_x % gridwidth);
f2 = (pos_x)&(~(gridwidth-1));