2013-01-08 1 views
3

JavaScript로 최종 판타지 스타일 월드 맵 엔진을 제작할 수 있는지 인터넷을 검색하고있었습니다. 지도와 포인트 위치는 간단합니다. 필자는 필연적으로 직선이 아닌 점들 사이에서 경로를 만들고 스프라이트가 그 경로를 따라 걷는 지 궁금해했습니다.게이밍 맵 엔진, 파이널 판타지 전술 Esk

FFT지도 http://www.vintagevideogamer.net/wp-content/uploads/2012/04/world_map.jpg

사람이 maping의 스타일이라는 것을 알고 있나요? (위키 백과에는 용어가 없었습니다)

또는 그러한 기존 프로그램이 있습니까?

Canvas를 사용하거나 Native JS를 사용해 보려고합니다.

+0

대부분의 경로 검색 (게임에서)은 A * 또는 그 파생어를 사용합니다. 하지만 Canvas와는 아무런 관련이 없습니다. 그래서 그것이 당신이 찾고있는 것인지 확신 할 수 없습니다. –

+0

나는 Astar 경로를 이전에 찾던 것으로 만들었습니다. 비 블록 또는 선형 경로를 따라 이동합니다. 나는 youtube 비디오를 발견 할 것이다. 시도해 줘서 고마워. 스프라이트가지도상의 경로를 따라 걷기 때문에 Canvas와 관련이 있습니다. 경로는 위의 이미지에 표시됩니다. – Iscariot

+0

A *는 가중치가있는 노드가있는 노드의 네트워크에서 경로를 찾습니다 (용어가 잘못되어 있으면 누군가 나를 수정합니다). 길이에 따른 연결의 무게를 측정하면 최상의 경로를 찾을 수 있어야합니다. 왜 네가 왜 안되는 거지? –

답변

0

이러한 경로는 상대 좌표로 일련의 선분으로 인코딩 할 수 있습니다. 당신은 같은 경로를 원하는 가정 :

| 
\ _ 

각 라인은 10 픽셀입니다. 당신은 단지 중간 점을 찾기 위해 시간 추정을 사용하여 다음

[ 
    {"start_x":0,"start_y":0,"stop_x":0,"stop_y":10,"duration":2}, 
    {"start_x":0,"start_y":10,"stop_x":10,"stop_y":20,"duration":3}, 
    {"start_x":10,"start_y":20,"stop_x":20,"stop_y":20,"duration":2} 
] 

: (이 세그먼트를 통과하기 위해 수행해야 초 (밀리 초)을 나타 내기 위해 시간에) 당신은 라인 세그먼트의 자바 스크립트 배열로 그를 인코딩 할 수 세그먼트의 시작과 세그먼트의 끝 사이. 현재의 오프셋 (offset)는 다음과 같습니다

ELAPSED_TIME 당신이 세그먼트를 시작한 이후의 시간입니다
var pct_complete = elapsed_time/line_segment.duration, 
    x_diff = (line_segment.stop_x - line_segment.start_x), 
    y_diff = (line_segment.stop_y - line_segment.start_y), 
    render_x = line_segment.start_x + (x_diff * pct_complete), 
    render_y = line_segment.start_y + (y_diff * pct_complete); 

. 앞서 언급했듯이 상대 좌표를 사용하면 render_x/y를 월드의 경로 위치와 화면 오프셋으로 조정해야합니다.

더 부드러운 선을 사용하려면 더 작은 선분을 사용하십시오.

+0

나는 이해한다. 나는 그저 누군가가 그 운동 스타일의 이름을 알기를 바랬다. 저는 경로를 그리기 위해 아마도 Cal과 Geometry를 사용할 것입니다. JS 엔진에서 동적으로 만들 수있는 창의적인 방법을 찾아야합니다. IE, 나는 이것을 만들고 사람들이 도구를 사용하여 최종 사용자를위한지도를 만들 수있는 엔진을 만듭니다. – Iscariot

+0

"고정 경로 맵"또는 "로드맵"이 무엇이라고 부르는 지에 관해서는 최선의 선택이라 생각합니다.하지만 어느 쪽의 용어에도 많은 정보가 없습니다. 어느 쪽이든, 당신은 모범을 보았고, 제 것은 원유 였지만 실행 가능했습니다. –

+0

http://raphaeljs.com 나는 그것이 시작, 곡선 데모 및 바운스 데모를 기대하는 것처럼 보였다. – Iscariot

관련 문제