社区
C#
帖子详情
请问:如何在c#中获得游戏中八方向键的效果?
huouh
2008-07-10 02:51:30
我试着把按键加到连个线程,查了资料但还不知道怎么下手!
请高手指点下,不胜感激!
...全文
98
5
打赏
收藏
请问:如何在c#中获得游戏中八方向键的效果?
我试着把按键加到连个线程,查了资料但还不知道怎么下手! 请高手指点下,不胜感激!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nodman
2008-07-15
打赏
举报
回复
不用谢。
有个建议,为每个键单独启用不同定时器。并且键按下时立即启动该定时器,键放开立即停止该定时器。
如果统一用一个定时器处理所有的按键,同步会有问题,
‘真实感’可能不够强烈。
1分?
huouh
2008-07-12
打赏
举报
回复
问题解决了!
真的很感谢 Mr.nodman !
……
bool moveL = false;
bool moveU = false;
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Left)
{
moveL = true;
}
if (e.KeyCode == Keys.Up)
{
moveU = true;
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Left)
{
moveL = false;
}
if (e.KeyCode == Keys.Up)
{
moveU = false;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
if (moveL)
{
this.pictureBox1.Left -= 3;
if (this.pictureBox1.Left<=0)
{
this.pictureBox1.Left = 0;
}
}
if (moveU)
{
this.pictureBox1.Top -= 3;
if (this.pictureBox1.Top <= 0)
{
this.pictureBox1.Top = 0;
}
}
}
huouh
2008-07-12
打赏
举报
回复
非常感谢!
我去具体实现下!不过我还没有重写过事件!
先找个例子去参考下 o(∩_∩)o...
nodman
2008-07-11
打赏
举报
回复
嗯,明白了。
这个情况,你要重写2个事件:KeyDown+KeyUp
当一个键按下的时候,记住并且定时触发其功能,比如向右移动,直到
KeyUp中发现这个键放开,才停止移动。
定时器的触发间隔时间需要考虑。
这样,才可能处理多个同时按下的键。
nodman
2008-07-10
打赏
举报
回复
“我试着把按键加到连个线程”,语句不通顺,看不明白
你是要做游戏?8方向键是一个按键还是8个?
基于Pytorch框架实现YOLOV3目标检测算法的开源项目_深度学习计算机视觉目标识别物体定位实时检测多尺度预测边界框回归非极大值抑制特征金字塔网络Darknet53主干网络CO.zip
基于Pytorch框架实现YOLOV3目标检测算法的开源项目_深度学习计算机视觉目标识别物体定位实时检测多尺度预测边界框回归非极大值抑制特征金字塔网络Darknet53主干网络CO.zip
移动端网络优化:弱网环境下的实践经验.doc
移动端网络优化:弱网环境下的实践经验.doc
人工智能安全比赛深度伪造样本
人工智能安全比赛深度伪造样本
使用 Consul 做服务发现与健康检查实战.doc
使用 Consul 做服务发现与健康检查实战.doc
基于C语言开发的马里奥
游戏
课程设计大作业项目_包含完整
游戏
逻辑实现与资源管理_提供简单存档功能数据文件Data_图片音乐资源文件夹Resource_代码源文件Script_支持
游戏
.zip
基于C语言开发的马里奥
游戏
课程设计大作业项目_包含完整
游戏
逻辑实现与资源管理_提供简单存档功能数据文件Data_图片音乐资源文件夹Resource_代码源文件Script_支持
游戏
.zip
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章