2
안녕하세요 저는 부드러운 움직임을 얻지 못하고 있습니다. 내 게임 열차가 앞뒤로 움직이는 것이 좋지만 열차 움직임이 부드럽지 않습니다 (기차가 고정 속도와 부드러움으로 움직이지 않는 것처럼). ............원활한 이동 방법
public void run() {
Canvas canvas = null;
while (mRun) {
long beginTimeMillis, timeTakenMillis, timeLeftMillis;
canvas = mHolder.lockCanvas();
if (canvas != null) {
beginTimeMillis = System.currentTimeMillis();
gp.doDraw(canvas);
gp.animate();
timeTakenMillis = System.currentTimeMillis() - beginTimeMillis;
timeLeftMillis = (1000L/30) - timeTakenMillis;
Log.i("timeLeftMillis"+timeLeftMillis,"");
mHolder.unlockCanvasAndPost(canvas);
if (timeLeftMillis < 5) {
timeLeftMillis = 5;
}
try {
TimeUnit.MILLISECONDS.sleep(timeLeftMillis);
} catch (InterruptedException ie) {
}
}
}
}
편집을 도와주세요 : 나는 부드러운 움직임을 가져 오는 동안 스레드를 사용하는 방법을 모르겠어요.
답장을 보내 주셔서 감사합니다. 나는 표면을 사용하고 있지만 원활한 움직임을 얻지 못하고 있습니다. 나는 부드러운 움직임을 처리하는 방법을 이해하지 못합니다. 내 기차는 일정한 속도로 움직이지 않습니다. 도와주세요. – VSC
페인트에서 안티 앨리어싱을 사용 했습니까? – dinesh707
아니요, 비트 맵을 사용하고 이미지를 그립니다. 내 문제는 기차 속도가 정확하지 않습니다. 열차가 약간의 거리를 이동하면 속도가 느려지고 다음으로 속도가 이동합니다. 코드는 올바른 x 증가 +1 때마다입니다. 문제는 스레드에서 fps를 유지하는 것 같습니다. – VSC