2010-11-21 7 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라고하세요. Random.Next()에서 X 및 Y 멤버를 초기화합니다. 이제이 루프 내부의 X 및 Y 속성에 추가해야합니다.

1

AsteriodCurrentPosition 특성 (아마 Point (당신은 X와 Y 좌표를 떠 정수를 필요로하거나 확실하지)와 CurrentVelocity 특성 (누구의 X 구성 요소가를 나타내는 2 차원 (아마 float)) 벡터를 가질 수있다 X 축의 속도 및 Y 구성 요소는 Y 축의 속도를 나타냄).

소행성을 만들 때 방금 파괴되고 조각으로 부서 지거나 또는 다음 "레벨"에 대한 새로운 소행성을 무작위로 초기화 할 때 부모 소행성의 위치에서 CurrentPosition을 할당합니다.

Move() 동안 에 의해 CurrentPosition가 증가합니다.

는 등 당신이 소행성을 회전 가속 또는 소행성을 감속과 같은 흥미로운 일을 지원할 수있는 움직임의 고유 물리학을 정의하는 각 Asteroid 속성,

를 할당하는 경우