2010-11-21 9 views
0

私は小惑星タイプのゲームを作っていますが、私はそれらの動きをランダム化するのに苦労しています。ランダム化動作

これは上から下に向かうが、小惑星があらゆる方向に動くようにしたいのですが、どうすればいいですか?

public void Move() 
{ 
    for (int i = 0; i < asteroidList.Count; i++) 
     asteroidList[i] = new Vector2(asteroidList[i].X, asteroidList[i].Y + 2); 
} 

答えて

1

アステロイドクラスに別のプロパティを追加する必要があります。 MotionVectorと言ってください。 XとYメンバーをRandom.Next()から初期化します。今度は、このループ内のXおよびYプロパティにこれらを追加するだけです。

1

AsteriodCurrentPositionプロパティ)あなたは、整数やフロートXとY座標が必要な場合は(おそらくPoint(わからない、そのX成分を表しCurrentVelocity財産(2次元(おそらくfloat))ベクトルを持つことができますX軸の速度、Y成分の速度はY軸の速度です)。

あなたが小惑星を作成するときに、破壊されたばかりの小惑星の位置から、あるいは小区分に分割されているか、次の「レベル」のために新しい小惑星をランダムに初期化するときに、CurrentPositionを割り当てます。

Move()の間には、CurrentPositionCurrentVelocityで増やします。

あなたは各Asteroidに運動の固有の物理学を定義するプロパティを割り当てる場合は、小惑星を、小惑星を回転加減速のような面白いものをサポートできる、など