[英]C# UWP Change image only once with KeyDown
我正在為學校項目制作一個愚蠢的游戲,每當玩家向左或向右移動時,圖像都會隨方向變化。 問題是圖像明顯閃爍,因為單擊時始終保持同一圖像變化。 我相信我只需要在第一次單擊時更改圖像,但是我不知道該怎么做。 任何幫助? TIA
這是我用於KeyDown的方法:
private void MoveLeft(Image playerToMove)
{
double left = Canvas.GetLeft(playerToMove);
left -= _step;
playerToMove.Source = new BitmapImage(new Uri("ms-appx:///Assets/Characters/ShepherdLeft.png"));
Canvas.SetLeft(playerToMove, left);
}
您只需要記住玩家移動的先前方向是什么。 這是一些偽代碼可以幫助您:
private enum Direction
{
Right,
Left,
Unknown
}
private Direction lastDirection = Direction.Unknown;
private void MoveLeft(Image playerToMove)
{
if (lastDirection != Direction.Left)
{
playerToMove.Source = "ShepherdLeft.png";
}
lastDirection = Direction.Left;
}
private void MoveRight(Image playerToMove)
{
if (lastDirection != Direction.Right)
{
playerToMove.Source = "ShepherdRight.png";
}
lastDirection = Direction.Right;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.