Well my friends, it’s been quite some time. So without further ado back to the series!
/**
* Returns the the nearest grid resolution less than or equal to the number.
*
* EX:
* (7).snap(8) => 0
* (4).snap(8) => 0
* (12).snap(8) => 8
*
* @param {Number} resolution The grid resolution to snap to.
* @returns The nearest multiple of resolution lower than the number.
* @type Number
*/
Number.prototype.snap = function(resolution) {
return (this / resolution).floor() * resolution;
};
This handy method is useful for when you need to snap input to a grid (like in a tile editor).
I hope you enjoyed this installment of the wonderful 256 part series on JavaScript game extensions.
