2012-10-16 5 views
0

Windows Phone 7.1 용 XNA 기반 2D 게임을 개발 중입니다. 필자의 요구 사항은 플릭의 양과 각도를 기준으로 오브젝트를 가볍게 치는 것인데, 수직 투사 모션으로 움직입니다. 예 : 당신의 앞쪽에 호수가 있고 돌을 던지고 싶습니다. 인간의 눈이되는 카메라로 동일한 동작을 반복해야합니다.XNA 2D 게임에서 수직 포물선 경로를 만드는 방법은 무엇입니까?

3 가지 거리가 있습니다. Y 축으로 덮힌 거리가 X 축으로 덮힌 거리보다 큽니다.

나는 수평 (X-) 축에서 발사체 움직임에 대해 주어진 많은 방정식을 볼 수 있었지만 Y 축에서 발사체 움직임을 나타내지는 않았다.

X- 및 Y- 좌표의 관점에서이 발사체 모션을 어떻게 달성 할 수 있습니까?

+0

여기에 답변이 없으면 http://gamedev.stackexchange.com/ –

+0

을 입력하십시오. 질문에 대한 답변을 수락하지 않았습니다. 게시물 왼쪽에있는 눈금을 클릭하여 답변을 올바르게 표시해야합니다. – annonymously

답변

1

각도 대신 Vector2을 사용하면 간단하고 정확한 초보 물리 엔진을 구현할 수 있습니다.

플릭 할 개체는 Vector2 VelocityVector2 Position입니다.

그런 다음 당신은 단지 VelocityVector2로 마우스 사이의 거리를 추가하고, Position 모든 프레임에 Velocity을 추가 한 다음 중력을 추가 할 수 있습니다. 여기

은 샘플 구현 :

public class FlickObject 
{ 
    public Vector2 Velocity; 
    public Vector2 Position; 

    public FlickObject() {} 

    public void Update(GameTime t) 
    { 
     Position += Velocity; 
    } 
} 

그리고 게임 클래스 (때 사용자의 제스처 개체) :

flickObject.Velocity += FlickDistance; 
FlickDistance 마우스 사이의 거리입니다

(또는 그러나 당신을 그것을 계산하십시오) 그리고 목표.

는 그것을 마무리 중력을 추가하려면 : GRAVITY이 긍정적 값으로 설정

flickObject.Velocity += new Vector2(0, GRAVITY); 

.

+0

이 방법을 시도해보고 작동하는지 확인합니다. – bismita

관련 문제