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

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

}

}

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

相关推荐
故事不长丨6 小时前
C#定时器与延时操作的使用
开发语言·c#·.net·线程·定时器·winform
阿桂有点桂7 小时前
C#使用VS软件打包msi安装包
windows·vscode·c#
盐焗西兰花7 小时前
鸿蒙学习实战之路 - 图片预览功能实现
学习·华为·harmonyos
c#上位机7 小时前
halcon图像增强之分段灰度拉伸2
c#·上位机·halcon·机器视觉
yue0087 小时前
C# Directory的用法介绍
开发语言·c#
Xudde.7 小时前
friendly2靶机渗透
笔记·学习·安全·web安全·php
知识分享小能手7 小时前
CentOS Stream 9入门学习教程,从入门到精通, CentOS Stream 9 命令行基础 —语法知识点与实战详解(4)
linux·学习·centos
码界奇点7 小时前
Java Web学习 第15篇jQuery从入门到精通的万字深度解析
java·前端·学习·jquery
摇滚侠8 小时前
零基础小白自学 Git_Github 教程,GitHub Action 基础概念,笔记22
笔记·git·github
车载测试工程师8 小时前
CAPL学习-ETH功能函数-通用函数
网络·学习·tcp/ip·capl·canoe