当前位置: 首页 > article >正文

项目-坦克大战学习-资源冲突解决

我们项目完成到这一步的时候经常会跳出说资源在其他地方被使用的提示

这是因为当我们按住方向键不动的时候窗体的按下事件就会多次触发,这样就会使一个资源被多次调用

我们要将按下设置为同一个方向只检测一次很简单,只需要在按下检测处增加一个条件,如果检测到按下的方向等于当前方向那么设置方向的代码不执行就可以了

switch (Fangxiang1.KeyCode)//检测方向参数中存储的按键信息
{
    case Keys.W :
        if (Fangxiang != fangxiang.Up||yidong==false)//如果传入的方向不等于当前移动方向或者停止移动
        {
            Fangxiang = fangxiang.Up;//修改默认方向,在下一帧调用时更改绘制对象
            yidong = true;
        }
            break;
        
        case Keys.S:
        if (Fangxiang != fangxiang.Down || yidong == false)
        {
            Fangxiang = fangxiang.Down;
            yidong = true;
        }
        break;
        case Keys.D:
        if (Fangxiang != fangxiang.Right || yidong == false)
        {
            Fangxiang = fangxiang.Right;
            yidong = true;
        }
        break;
        
        case Keys.A:
        if (Fangxiang != fangxiang.Left || yidong == false)
        {
            Fangxiang = fangxiang.Left;
            yidong = true;
        }
        break;
}

这是修改后的代码,给按下检测传参设置了条件如果传入方向不等于当前方向或者目前坦克停止移动才可以运行


http://www.kler.cn/news/331555.html

相关文章:

  • 算法 | 鹈鹕算法POA-Transformer-LSTM多变量回归预测
  • redis 5的安装及启动(window)
  • csapp_计算机系统通览
  • 数据校验的总结
  • 《开源大模型食用指南》,一杯奶茶速通大模型!新增Examples最佳实践!
  • 【pytorch】pytorch入门5:最大池化层(Pooling layers )
  • SSY20241002提高组T4题解__纯数论
  • nginx配置多域名共用服务器80端口
  • ICM20948 DMP代码详解(60)
  • SpringBoot技术在墙绘艺术市场的应用
  • 在VS code 中部署C#和avalonia开发环境
  • 【Qt Quick】基础语法:变量类型
  • Vue-Lecture1-Notes
  • Redis Sorted Set 跳表的实现原理与分析
  • Redis:string类型
  • 手部姿态映射到远程操作机器人
  • python Scrapy 框架 demo
  • 【微信小程序前端开发】入门Day03 —— 页面导航、事件、生命周期、WXS 脚本及自定义组件
  • java设计模式介绍
  • Django Web开发接口定义