C# 随机化运动

C# 随机化运动,c#,random,C#,Random,我正在做一个小行星类型的游戏,但我正在努力使它们的运动随机化 这使得它从上到下移动,但我想要它们,所以小行星会向各个方向移动,我怎么能做到呢 public void Move() { for (int i = 0; i < asteroidList.Count; i++) asteroidList[i] = new Vector2(asteroidList[i].X, asteroidList[i].Y + 2); } 公共作废移动() { for(in

我正在做一个小行星类型的游戏,但我正在努力使它们的运动随机化

这使得它从上到下移动,但我想要它们,所以小行星会向各个方向移动,我怎么能做到呢

 public void Move()
 {
     for (int i = 0; i < asteroidList.Count; i++)
         asteroidList[i] = new Vector2(asteroidList[i].X, asteroidList[i].Y + 2);
 }
公共作废移动()
{
for(int i=0;i
您应该为小行星类添加另一个属性。说运动矢量。从Random.Next()初始化其X和Y成员。现在,您只需要将这些属性添加到此循环中的X和Y属性。

每个
Asteriod
可以有一个
CurrentPosition
属性(可能是一个
(不确定是否需要整数或浮点X和Y坐标)和
CurrentVelocity
属性(可能是一个二维(可能是
浮点
)其X分量表示X轴上的速度,Y分量表示Y轴上的速度的向量)

当您创建小行星时,您可以指定当前位置,或者是从刚刚被摧毁并破碎的父小行星的位置,或者是在您随机初始化新小行星以进入下一个“级别”时

Move()

如果为每个
小行星指定一个定义运动固有物理特性的属性,则可以支持有趣的事情,如旋转小行星、加速或减速小行星等