2014-09-09 2 views
1

C# winforms에서 양식에 그림을 그립니다. 2 차원 게임처럼 그림을 움직일 수 있습니다. 왼쪽과 오른쪽은 방향으로 방향을 바꿀 것이며 (방향을 바꿉니다), 위/아래 키는 그림을 앞뒤로 움직일 것입니다 (속도를 변경). 그러나 그림이 135도를 가리키고 있다고 가정 해 봅시다. x, y 좌표를 적절히 이동하는 방법을 어떻게 알 수 있습니까?머리글 방향으로 그리드를 따라 개체 이동

그림은 아래 그림에서 135라는 제목의 좌표 (140, 140)에 있습니다. 앞으로 이동하려면 어떻게 새 위치를 계산해야합니까?

enter image description here

Here 내가

+1

당신이 – Ormoz

+0

없음을 원하지 않을 것을 명확히하기위한 코드를 제공 할 수 존재한다. 나는 베어링 방향으로 움직이는 방법을 알고 싶다. 의미는 시작 위치 X와 Y와 q의 베어링입니다. Q와 Y를 업데이트하여 q 방향으로 이동하십시오 – Oxymoron

+0

@Oxymoron이 방향으로 객체를 이동 하시겠습니까? 아니면 방향을 바꾸시겠습니까? –

답변

1

Y를 만들려고하고있는 무슨의 큰 그림이다 = MX + C 당신의이 x 좌표에 따라 y 위치를 결정하는 데 도움이 될 것입니다. 이 이미지를 한번보세요 enter image description here

x1, y1은 귀하의 경우 140,140입니다. 그래서 C#에서

y=mx+c 
c=0 because 140,140 
y=x tan(45°) 
y=x hence tan(45°)=1 
y=x 

void move object1(){ 
    int speed=2; 
    x+=speed; 
    y+=speed; 

}//but this is really easy because 135 degree and start point is 140,140 but when those are not equal this will bit different 
+0

c는 초기 지점에 다른 값이있을 때 중요합니다. –

관련 문제