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

对于键盘按键按下控制玩家坦克方向我能需要在窗体属性中找到触发事件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;

}

}

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

相关推荐
噜~噜~噜~8 小时前
操作系统笔记-2.3.2.1 进程互斥的软件实现方法
笔记·操作系统
曹牧8 小时前
C#:数组与列表的差异
开发语言·c#
小弥儿9 小时前
GitHub今日热榜 | 2026-08-26:AI 大脑与知识管理扎堆
人工智能·学习·开源·github
荷蒲9 小时前
【小白量化Qbuddy】利用AI学习中文Python
人工智能·python·学习
云贝教育-郑老师9 小时前
【麒麟服务器系统交付:一个DBA的六年信创实战笔记】
服务器·笔记·dba
何以解忧唯有撸码9 小时前
Winform上位机也能写出媲美Avalonia的界面
c#·源码·自定义控件
中科高级技工学校9 小时前
乌鲁木齐中医康复学习经历分享
大数据·学习
玖玥拾9 小时前
LeetCode 392 判断子序列
笔记·算法·leetcode
摇滚侠10 小时前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 15
java·spring boot·笔记
摇滚侠11 小时前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 14
spring boot·笔记·后端