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.