내가 X를 이동하려는 해달라고와 y 같은 양의 때마다하지만 얼마나 각각해야 결정하기 위해 무엇을해야하는지 해결하는 방법을 잘 모릅니다 것을 볼 수 있습니다 나는 현재Java 사용하기 스프라이트의 경로를 직선으로 플로팅하려면 어떻게해야합니까?
int startX,endX,currX;
int startY,endY,currY;
public void updatePos(){
if(currX<=endX){
currX+=1;
}
//Same for y
같은 뭔가를 설명하기 위해 조정해라.
어떤 아이디어 어쩌면이
내가 이러한 좌표 (0,0) 에서 시작 상상 명확히하고 나는 경우 (18,10)
에 도달 할 도움이 될 것입니다
내 x와 y가 원하는 목표에 도달 할 때까지 한 단계 씩 증가시킵니다. 스프라이트는 대각선 방향으로 위쪽으로 이동 한 다음 오른쪽으로 이동하여 올바른 위치에 놓입니다.내가 원하는 동작은 대상 지점을 향해 한 방향으로 이동하는 것입니다 (삼각형의 splope 함께하면 당신은)
임 점의 내 다음 세트를 찾는 방법에 대한 제안을 찾고
아래 답변을 사용하여 비율 (endX - startX) :(endY - startY) ... 즉 18:10 또는 1.8 : 1을 기준으로 스프라이트 속도를 설정할 수 있습니다. 예를 들어, dx를 1.8 픽셀/ms로 설정하고 dy를 1 픽셀/ms로 설정할 수 있습니다. 위치 및 속도를 int가 아닌 double 값으로 저장하는 것을 고려해야합니다. 스프라이트가 이산 단계로 "점프"하면서 (18,10)의 끝 위치를 오버런하지 않는지 확인해야하지만이 지점을 통과하게됩니다 (반올림 오류는 제외). – Adamski