C#Windows窗体平台游戏,在向右/向左移动时跳跃将被取消,看起来并不顺利

C#Windows窗体平台游戏,在向右/向左移动时跳跃将被取消,看起来并不顺利,c#,windows,forms,C#,Windows,Forms,我正在进行跳跃和跑步,如果我在按住(a/D键)的同时向右/向左行走,然后按W进行跳跃,则向左/向右移动的过程将被取消,我必须按下a/D按钮才能继续行走。你知道有什么解决办法吗 另一个问题是,是否有人知道一些动画角色的好网站,如.GIF,用于向右移动、静止、向左移动和跳跃 源代码: private void Tutorial_KeyDown(object sender, KeyEventArgs e){ if (e.KeyCode == Keys.W) { b_Jump = true; Mov

我正在进行跳跃和跑步,如果我在按住(a/D键)的同时向右/向左行走,然后按W进行跳跃,则向左/向右移动的过程将被取消,我必须按下a/D按钮才能继续行走。你知道有什么解决办法吗

另一个问题是,是否有人知道一些动画角色的好网站,如.GIF,用于向右移动、静止、向左移动和跳跃 源代码:

private void Tutorial_KeyDown(object sender, KeyEventArgs e){
if (e.KeyCode == Keys.W)
{
 b_Jump = true;
 Movement.Enabled = true;
}
else if (e.KeyCode == Keys.A || e.KeyCode == Keys.Left)
{
 b_Left = true;
 Movement.Enabled = true;
}
else if (e.KeyCode == Keys.D || e.KeyCode == Keys.Right)
{
 b_Right = true;
 Movement.Enabled = true;
}
}

{

if(b_Left==true)
{
斯皮尔勒.左-=i_geschwindiggeit;
Movement.Enabled=false;
}
else if(b_Right==true)
{
Spieler.Left+=i_geschwindiggeit;
Movement.Enabled=false;
}
else if(b_Jump==true)
{
Sprunganstieg.Enabled=true;

Sprungabfall.Enabled=true;Windows窗体不是游戏开发的正确工具。您可以将其用于限制范围内的纯turnbased游戏,其中包括单人或hotseat多人游戏。旧纸牌已达到或接近最大可能值。最近,当您尝试制作复杂动画时,您会遇到类似的问题


如果你想进行适当的游戏开发,XNA是.NET Framework的过时工具。否则,你应该看看你的目标框架支持哪些选项:但最终,任何有游戏循环的东西都会起作用。

我只想创建一些简单的跳跃和奔跑,如下所示:
private void Movement_Tick(object sender, EventArgs e)
if(b_Left == true)
{
 Spieler.Left -= i_Geschwindigkeit;
 Movement.Enabled = false;
}
else if (b_Right == true)
{
 Spieler.Left += i_Geschwindigkeit;
 Movement.Enabled = false;
}

else if (b_Jump == true)
{
 Sprunganstieg.Enabled = true;
 Sprungabfall.Enabled = true; <- Just makes the Playermodel reach the Ground 
 b_Jump = false;                 after a small delay

}