WPF使用键盘上的箭头键移动图像

我正在尝试使用WPF中的箭头键移动代表玩家头像的图像。该代码应允许播放器使用箭头键移动图像,但这不起作用。这是我编写的用于移动图像的代码。

private void Canvas_KeyDown(object sender,KeyEventArgs e)
        {
            if(e.Key == Key.Down)
            {
                Canvas.SetTop(player,Canvas.GetTop(player) -10);
            }
            else if (e.Key == Key.Up)
            {
                Canvas.SetTop(player,Canvas.GetTop(player) - 10);
            }
            else if (e.Key == Key.Left)
            {
                Canvas.SetLeft(player,Canvas.GetLeft(player) - 10);
            }
            else if (e.Key == Key.Right)
            {
                Canvas.SetLeft(player,Canvas.GetLeft(player) + 10);
            }

        }
wanghuialex163 回答:WPF使用键盘上的箭头键移动图像

首先免责声明:Windwos Forms和WPF等桌面技术不适用于游戏开发。回合制,单人游戏或热门座位多人游戏是您能做的最好的事情。对于Windows Forms,上限是旧的Solitair游戏。 WPF更好一些,但仍然不是一个好选择。

为了进行适当的开发,您需要带有Game Loop的东西。在.NET中,您得到了过时的XNA和these current chioces

但是回到您的问题: 假设您在画布上注册了该事件,则只有当它具有输入焦点时才会触发该事件。您将无法维护的某些东西。

类似路由和隧道事件之类的东西,但是我认为您真正想要的是热键。但是示例似乎假设您使用了命令模式,然后向其中添加了热键选项:

本文链接:https://www.f2er.com/3131378.html

大家都在问