Skip to content

@martinwells /gist:2968030
Created

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
// declare bullet pools
var activeBullets = [];
var bulletPool = [];
// construct some bullets ready for use
for (var i=0; i < 20; i++)
bulletPool.push( new Bullet() );
// a constructor/factory function
function getNewBullet()
{
var b = null;
// check to see if there is a spare one
if (bulletPool.length > 0)
b = bulletPool.pop();
else
// none left, construct a new one
b = new Bullet();
// move the new bullet to the active array
activeBullets.push(b);
return b;
}
function freeBullet(b)
{
// find the active bullet and remove it
// NOTE: Not using indexOf since it wont work in IE8 and below
for (var i=0, l=activeBullets.length; i < l; i++)
if (activeBullets[i] == b)
array.slice(i, 1);
// return the bullet back into the pool
bulletPool.push(b);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.