この関数を使用して、パーティクル システムのパーティクルを作成しています。
function particle()
{
this.speed = {x: -1.5+Math.random()*3, y: -12+Math.random()*12};
this.location = {x: 50, y: 150};
this.radius = 5+Math.random()*8;
this.life = 4+Math.random()*8;
this.remaining_life = this.life;
this.r = 255;
this.g = 140;
this.b = 30;
}
この関数を使用して、アニメーションの過程でパーティクルの特性を更新しています。
particle.prototype.updateparticle = function()
{
this.remaining_life--;
this.radius--;
this.location.x += this.speed.x;
this.location.y += this.speed.y;
if(this.remaining_life < 0 || this.radius < 0)
{
this.speed = {x: -1.5+Math.random()*3, y: -12+Math.random()*12};
this.location = {x: 50, y: 150};
this.radius = 5+Math.random()*8;
this.life = 4+Math.random()*8;
this.remaining_life = this.life;
this.r = 255;
this.g = 140;
this.b = 30;
}
}
冗長なコードを回避する方法はありますか?
また、使用this = new particle()
してみましたが、うまくいきませんでした。うまくいかない理由が思いつきません。なぜそうではないのですか?
まったく関係のない話ですが、Firefox はパーティクル アニメーションを処理できませんか? Chrome が CPU の 5% を使用しています。Firefox は約 30 を使用しますが、まだ遅れています! 私はi5 2500kを持っているので、問題はないはずです。両方の最新バージョンを実行しています。