То есть нужно, чтобы при отпускании мыши объект прилеплялся к ближайшей линии.
В пределах клетки добиться удалось путем использования
Math.ceil и Math.floor - скачет к ближайшей линии сетки, но вот стоит пересечь эту линию, он скачет к ближайшей линии клетки, которую объект зацепил.
Это еще если объект меньше, чем шаг сетки. А если больше, вообще мрак.
Вот, к примеру, в подобном ключе вычисляю _x

Код:
step = 10;
coordx = Math.floor(this._x/step)*step+this._width/2;
coordxnext = coordx + step; // следующая линия сетки - глупость, я понимаю.
if ((this._x + this._width/2) >((coordx + coordxnext)/2)) {
_x = Math.ceil(this._x/step)*step+this._width/2-this._width;
} else {
_x = Math.floor(this._x/step)*step+this._width/2;
}