저는 300x300 크기의 창 안에 800x600 크기의 캔버스가 있습니다. 특정 키를 누를 때 캔버스가 그 방향으로 움직이기를 원합니다.
난 뒤에 윈도우의 코드 내에서 이런 짓을했습니다WPF의 저속 움직임
protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); Key keyPressed = e.Key; if (keyPressed == Key.W) { gcY += 5; } if (keyPressed == Key.S) { gcY -= 5; } if (keyPressed == Key.A) { gcX += 5; } if (keyPressed == Key.D) { gcX -= 5; } gameCanvas.RenderTransform = new TranslateTransform(gcX, gcY); }
음, 작동하지만 운동은 육포입니다. 예를 들어 W 키를 누르고 있으면 이동하기 전에 1 초 동안 일시 중지됩니다.
어쨌든 움직임을 부드럽게하고 키를 누르고있을 때 일시 중지를 제거 할 수 있습니까?
감사합니다.
안녕하세요, 감사합니다. 하지만 그 작품과 이전에 내가 가진 방식이 왜 그렇게되지 않았는지 아십니까? – jkidv