项目-坦克大战学习-资源冲突办理

打印 上一主题 下一主题

主题 680|帖子 680|积分 2040

我们项目完成到这一步的时候经常会跳出说资源在其他地方被使用的提示
这是因为当我们按住方向键不动的时候窗体的按下事件就会多次触发,这样就会使一个资源被多次调用
我们要将按下设置为同一个方向只检测一次很简单,只须要在按下检测处增长一个条件,如果检测到按下的方向等于当前方向那么设置方向的代码不执行就可以了
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;
}
这是修改后的代码,给按下检测传参设置了条件如果传入方向不等于当前方向大概现在坦克制止移动才可以运行


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

商道如狼道

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表