项目-坦克大战学习笔记-按键按下控制方向

对于键盘按键按下控制玩家坦克方向我能需要在窗体属性中找到触发事件KeyDown(按下触发)以及KeyUp(松开触发)

着两个方法是连用的,按住不放就会一直触发KeyDown,在窗体类中会对次方法进行检测,我们需要通过窗体类中的按下检测方法调用玩家坦克类中的信息并修改,那么就需要一层层将按下这个信息传递下去

在窗体类中进行检测后在方法中调用另一个方法,此方法为调用玩家坦克类中 的方法

private void Form1_KeyDown(object sender, KeyEventArgs e)

{

duixiangweizhi.KeyDown(e);

}

传参为KeyEventArgs,将检测到按下的按键发送过去

在到玩家坦克类中创建一个方法接收传递过来的KeyEventArgs类型,然后检测传递过来的按键信息来调用case选择函数做到4个方向图片对象切换

public void KeyDown(KeyEventArgs Fangxiang)//接受调用函数时传递过来被按下按键信息

{

switch (Fangxiang.KeyCode)//检测方向参数中存储的按键信息

{

case Keys.W :

fangxiang = fangxiang.Up;//修改默认方向,在下一帧调用时更改绘制对象

yidong = true;

break;

case Keys.S:

fangxiang= fangxiang.Down;

yidong = true;

break;

case Keys.D:

fangxiang=fangxiang.Right;

yidong = true;

break;

case Keys.A:

fangxiang = fangxiang.Left;

yidong = true;

break;

}

}

这样,就可以设置按键,根据在窗体运行时按下的按键来更改坦克方向了

相关推荐
Olrookie4 小时前
ruoyi-vue(十五)——布局设置,导航栏,侧边栏,顶部栏
前端·vue.js·笔记
唐青枫6 小时前
C#.NET 定时任务必备:Quartz 全面解析与实战指南
c#·.net
小码编匠1 天前
WPF 中的高级交互通过右键拖动实现图像灵活缩放
后端·c#·.net
使一颗心免于哀伤1 天前
《设计模式之禅》笔记摘录 - 21.状态模式
笔记·设计模式
唐青枫1 天前
C#.NET 定时任务与队列利器:Hangfire 完整教程
c#·.net
hez20102 天前
Runtime Async - 步入高性能异步时代
c#·.net·.net core·clr
mudtools2 天前
.NET驾驭Word之力:玩转文本与格式
c#·.net
唐青枫2 天前
C#.NET 数据库开发提速秘籍:SqlSugar 实战详解
c#·.net
mudtools3 天前
.NET驾驭Word之力:理解Word对象模型核心 (Application, Document, Range)
c#·.net
_落纸3 天前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记