別のクラスとしてパーティクル エフェクトを使用しているゲームがあります。
public class Explosion
{
private List<Particle> Particles;
private const int particle_Count = 100;
public Explosion(Vector2 location) {
Random random = new Random();
Particles = new List<Particle>(particle_Count);
for(int i = 0; i < particle_Count; i++)
Particles.add(new Particle(location, new Vector2(random.NextDouble() * i,
random.NextDouble() * i));
}
}
さて、私のゲームにはいくつかの異なるタイプの爆発が必要ですが、それらはほんのわずかしか違いません (文字通り、1 つの Vector2 オブジェクトの違いです (これは、2 つの座標と、そうでない人のためのいくつかのヘルパー関数を格納するオブジェクトにすぎません)。 t XNA に精通している))
私の質問は、Random はコンストラクターに入ったときにのみアクセスできるため、この爆発のバリエーションをどのように作成するのですか?
爆発ごとに新しいクラスを作成する必要がありますか? (爆発間の変化が少ないため、これは不要のようです)
関数をオーバーロードして、爆発ごとに個別のパラメーター (おそらく int) を取得する必要がありますか?
コンストラクターを介して Vector2 を直接渡す必要があります (これは、適切な OOP 原則を破るように思われます)。
または、これを回避する別の方法がありますが、私は見ていません。
どんな助けでも大歓迎です。私は最初から正しく物事を行うのが好きで、これは私のアプリケーションの重要な部分です。
ありがとう。