¡Muchas gracias por sus respuestas!
@Panino5001, originalmente tenía esta segunda solución, pero me era confuso, ya que originalmente manejaba arrays, y como usaba lenght a cada momento, ya no sabía si usar myvar.length o myvar.particles.length. Además, espero liberar este código cuando sea sólido, y quiero dar la experiencia más simple posible al usuario. ¡La primer solución parece ir perfectamente!
@Aijoona, ¡Gracias por el enlace! Fue bastante información y terminé mareado a media página. Pero me ayudó a comprender mucho mejor lo que ocurre y sus soluciones.
Al final, terminé por implementar esa solución, bastante simple:
Código PHP:
function ParticleSystem(){
this.gravity=0;
this.wind=0;
this.moveParticles=function(){
for(var i=0;i<this.length;++i){
if (this[i].age<this[i].maxAge){
this[i].x+=this[i].speed*(Math.cos(this[i].angle*(Math.PI/180)))+this.wind*this[i].age;
this[i].y+=this[i].speed*(Math.sin(this[i].angle*(Math.PI/180)))+this.gravity*this[i].age;
this[i].age++;
}
else this.splice(i,1);
}
}
}
ParticleSystem.prototype=new Array();
Ya he hecho varias pruebas en Google Chrome y Firefox, y no he tenido problema alguno. ¿Saben ustedes de algún posible problema que deba considerar? Muchas gracias por todo =D
PD: Leí sobre problemas en ciertos casos con IE8-, no se si este podría presentarlos, pero como dirijo todo esto a HTML5 Canvas, da igual, ya que estos navegadores no le soportan para empezar