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

项目-坦克大战笔记-墙体销毁以及人机销毁

在子弹撞到墙或者人机身上时会将碰撞到的墙体或者人机销毁

我们需要做到几点

检测子弹碰撞到的墙体或者人机将物体获取到

每帧遍历墙体列表与人机列表,检测被碰撞的墙,创建一个方法返回值为对应类型将被碰撞的物体返回出来

 public static gudin wallpengzhuang(Rectangle rt)//传递一个Rectangle类型做检测
 {
     foreach (gudin gudin in walllist)//遍历所有墙
     {
         if (gudin.getjuxing().IntersectsWith(rt))//获取墙的矩形调用IntersectsWith方法检测与传递进来的矩形是否碰撞
         {
             return gudin;//返回发生碰撞的墙
         }
     }
     foreach(gudin gudin1 in steellist)//遍历铁块
     {
         if(gudin1.getjuxing().IntersectsWith(rt))
         {
             return gudin1;//返回发生碰撞的墙
         }
     }
     return null;//如果没有符合条件的那么返回空
 }
 public static renji renjipengzhuang (Rectangle re)//检测人机碰撞
 {
     foreach(renji rg in renjilist)
     {
         if (rg.getjuxing().IntersectsWith(re))//如果碰撞
         {
             return rg;//返回发生碰撞的墙
         }
     }
     return null;
 }

在子弹类将子弹的矩形传递近方法检测与检测碰撞方法中列表的物体是否碰撞

创建一个临时变量,如果碰撞就将碰撞到物体的信息传递到临时变量中

    renji rg=null;//创建一个人机类型检测碰撞到的人机
    gudin gd = null;//建立一个gudin类型用来放置检测到的墙
    if ((gd=duixiangweizhi.wallpengzhuang(rec)) != null)//调用墙体碰撞检测方法,传入自身矩形检测碰撞
    {
        xiaohui = true;
       duixiangweizhi.wallxiaohui(gd); return;//如果碰撞检测返回结果不为空那么将碰撞到的墙传参然后销毁
    }
   if((rg=duixiangweizhi.renjipengzhuang(rec))!=null)
        {
        xiaohui = true;
        duixiangweizhi.renjixiaohui(rg); return;

    }
}

创建一个销毁方法,遍历列表将碰撞到的物体销毁

  public static void wallxiaohui(gudin wall)//检测墙销毁
  {
      walllist.Remove(wall);//将检测到的墙传参销毁
  }
  public static void renjixiaohui(renji rg)//检测人机销毁
  {
      renjilist.Remove(rg);
  }

这样,子弹撞到墙体或者人机就会将其物体检测返回出来,然后通过销毁方法传参将传入的物体在列表中销毁

http://www.lryc.cn/news/453738.html

相关文章:

  • 硬件设计-利用环路设计优化PLL的输出性能
  • Vue入门-Node.js安装
  • OpenCV threhold()函数
  • Qt教程(002):Qt项目创建于框架介绍
  • 《C++游戏人工智能开发:开启智能游戏新纪元》
  • SPSS and Origin Paired Samples T-Test
  • 速成java记录(上)
  • 春秋云镜靶场之CVE-2022-28525
  • 【LLM】Agent在智能客服的实践(AI agent、记忆、快捷回复 | ReAct)
  • 19款奔驰E300升级新款触摸屏人机交互系统
  • Python知识点:如何使用Spark与PySpark进行分布式数据处理
  • 低功耗4G模组Air780E之串口通信篇
  • Python | Leetcode Python题解之第455题分发饼干
  • 交叠型双重差分法
  • Java中的数据合并与拆分:使用Stream API实现数据的灵活处理
  • Arthas(阿尔萨斯)
  • 黑马linux笔记(转载)
  • SQL Server—通配符(模糊查询)详解
  • 软考系统分析师知识点二:经济管理
  • C语言自定义类型联合和枚举(25)
  • Kafka 的重平衡问题详解及解决方案
  • 比较GPT4比较正确的回复的提问方式和比较失败的提问方式之间的区别?
  • jmeter学习(1)线程组与发送请求
  • 【小技巧】mysql 判断表字段是否存在 删除字段 sql脚本
  • 低代码革命:重塑工业互联网的未来版图
  • KNN算法
  • TS 中类型的继承
  • 在VS code 中部署C#和avalonia开发环境
  • Windows删除service服务
  • 【数据结构】---图