2012-04-17 6 views
0

도로에서 자동차의 움직임을 보여주고 싶습니다. 나는 위치를 포함하는 텍스트 파일을 가지고 있고 나는 매초마다 차의 위치를 ​​업데이트함으로써 움직임을 만들었다. 평야는 (200,200)라고 말한다. 이제이 화면 외부에있는 위치에 대해 어떻게해야합니까? 어떻게 내 차를 따라갈 수 있니? 카메라를 설치해야합니까? 내 앱은 2D입니다.화면 밖에서 위치 및 위치 업데이트

+0

에 의해 뒤로 이동 될 나타납니다 객체의가 (0, 5)를 가정 해 봅시다 할 경우

자동차 속도. 예 : 자동차가 20km/h로 북동쪽으로 이동하므로 차를 실제로 움직이지 말고 차 밑의 모든 것을 남서쪽으로 20km/h로 이동하십시오. – PaulG

+0

그 차를 제외하고는 다른 속도로 움직이는 다른 물체도 있습니다. ! 그리고 나는 20km/h와 같은 속도로 작동하지 않는다, 나는 단지 위치를 업데이트한다. 그래서 차가 앞으로 움직이는 것처럼 보인다. – matarsak

+0

가 이해된다. 나는 단지 20kmh를 예제로 사용했지만, 당신은 그것이 전부다. 모든 프레임을 일정량만큼 조정합니다. 그럼 다른 물체는 화면 오른쪽으로 움직일 수 있습니까 ?? – PaulG

답변

1

제 경험으로 볼 때 2D 프로그래밍에서 카메라를 설정하는 실제 개념은 없지만 잘못된 것일 수 있습니다. 당신은 이것을 직접해야만하고, 카메라 클래스를 만들 수 있습니다. .....

내가 생각하기에 차가 화면의 중앙에 머물 것이고 그 밑에있는 모든 것이 움직일 것입니다. 당신이 달성하고자하는 것에 달렸습니다.

차가 20km/h로 북동쪽으로 움직이는 경우 실제로 자동차를 움직이지 말고 차 밑의 모든 것을 남서쪽으로 20km/h로 이동 시키십시오 (또는 프레임 당 얼마나 많은 픽셀이 나오는지)

차를 따라 가고 싶을 때입니다. 카메라가 경계를 벗어날 때마다 "카메라"를 중앙에 배치하려면 풍경과 자동차를 화면 중앙으로 이동해야합니다.

편집 : 나는 차가 주된 초점 일 것이라고 생각하고있다? 그래서 항상 화면 중앙에 있어야합니다.

게임의 모든 개체는 velocityposition이어야합니다. position은 현재 개체가있는 곳을 알려주고 velocity은 프레임 당 몇 개의 x와 몇 개의 y가 움직여야하는지 알려줍니다. 그래서 모든 프레임은 position = position + velocity이라고 말할 것입니다.

자동차가 아닌 물체는 카메라가 따라 다니지 않아도 원하는대로 화면 밖으로 벗어날 수 있으므로 놓아 둡니다. 차를 중심으로 유지하고 차의 모든 다른 물체의 속도를 조정하십시오.

예 :

Car's velocity (3, 0) ---> means it's moving right in the straight line at 3 pixels per frame

Object 1 velocity (4, 0) ---> means it's also moving right in a straight line but 4 pixels per frame

객체 1의 속도 자체가 차량의 속도에 따라 조절해야합니다. 그래서 말 :

object1.position = object1.position + (object1.velocity - car.velocity)

개체 1의 새로운 속도가 (1, 0)이 하나 더 빠른 차보다 이동, 그래서. 차 상승 속도가 다음 하나는 내가 자동차를 중심으로 유지의 요인에 의해 반대 방향으로 다른 모든 이동 추측 1.

+0

아마도 자동차를 중심에두고 다른 대상을 자동차 속도와 관련하여 움직이는 것이 더 나을 것입니다. 아직 확실하지는 않습니다. – matarsak