2010-07-12 2 views
0

2 차원 경주 게임을 등각 투영으로 수정하는 방법은 무엇입니까? 플래시 + 액션 스크립트2d 레이싱 게임에서 등각 투영 모방을 만드는 방법은 무엇입니까?

ScreeShot

이 게임은 완전히 차원이다. 그것이해야하는 것처럼 차는 움직인다. 그리고 그것이 땅을 모는 동안 모든 것은 멋지다. 회색 램프가 추가되었습니다. 이제 자동차가 화살표가 보여주는 것처럼 움직여 3D의 환상을 만듭니다 (등각 투영).

램프 3 개 섹터

분할된다

- 첫 (차량이 현재 위치해) 오른쪽 섹터;

- 두 번째, 왼쪽 섹터.

- 세번째 섹터;

플러스 나는 속도가 빠를 때 진입로에서 뛰어 내리기 위해 자동차가 필요합니다. 운전 때 나는 그래서 질문은 내가 차의 각도와 속도 (velocityX 및 velocityY을 변경하는 방법을

1) 있습니다

된 숄 게임 락앤롤 레이싱 (세가 블리자드의 게임)) 에 reffer 진입로에?

2) 램프에서 점프를 시작하려면 어떻게해야합니까? 예를 들어 Rock'n'Roll 경주에서와 같이? 또는 블리자드가 본질적으로 그것을 한 방법? (제안 사항 일 수 있음)

탁 치.

답변

2

최고는 게임을 3D로 계산 한 다음 등각 투영으로 투사하는 것이 가장 좋습니다.

const angle:Number = Math.PI/3;//you may want to tweak this one 
const xVec:Point = Point.polar(-Math.PI/2 + angle, 1); 
const yVec:Point = Point.polar(-Math.PI/2 - angle, 1); 
const zVec:Point = new Point(0, -1); 

2D를 3D 변환 :

function transform(x:Number, y:Number, z:Number):Point { 
    return new Point(x*xVec.x + y*yVec.x + z*zVec.x, x*xVec.y + y*yVec.y + z*zVec.y); 
} 
관련 문제