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

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

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

我们需要做到几点

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

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

 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.kler.cn/news/334492.html

相关文章:

  • vue-live2d看板娘集成方案设计使用教程
  • sqlalchemy 加速数据库操作
  • Uniapp API
  • 李飞飞谈AI+3D发展:3D/4D AI将成为下一个重要前沿
  • NVIDIA网卡系列之ConnectX-4规格信息(50G-PCIe 3.0x8-8PF256VF-2015年发布)
  • yolov8/9/10模型在安全帽、安全衣检测中的应用【代码+数据集+python环境+GUI系统】
  • RCE_绕过综合
  • chatGPT对我学术写作的三种帮助
  • 使用Conda管理python环境的指南
  • 毕业设计_基于springboot+layui+mybatisPlus的中小型仓库物流管理系统源码+SQL+教程+可运行】41004
  • .NET 一款支持天蝎的免杀WebShell
  • 聊天记录怎么监控?企业微信聊天记录监控的2个方法分享!员工权益vs企业管理
  • Java应用程序的服务器有哪些?
  • LeetCode78 子集
  • 音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现
  • CSS轮廓
  • springboot合肥师范学院实习实训管理系统-计算机毕业设计源码31290
  • 华为OD机试真题-数组拼接-2024年OD统一考试(E卷)
  • React响应式数据useState
  • 平面电磁波(解麦克斯韦方程)电场相位是复数的积分常数,电场矢量每个分量都有一个相位。磁场相位和电场一样,这是因为无损介质中实数的波阻抗