c# --- 碰撞检测与敌人坦克生成 --- 结束

1.碰撞检测的基本思路:判断两个长方形A和B是否发生了碰撞?

现象:若发生了碰撞的话,长方形A必有一个顶点在长方体B中(B也同理)

结论:检测A的四个顶点位置,如果有一个顶点在长方体B中的话,那么就发生碰撞(从B的角度分析也是同理的)

2.要有返回值但是什么都不想返回的话可以return一个null,null也相当于0,真假判定时判定为假

3.碰撞检测的时候不可以用本体矩形直接去检测 --- 因为检测成功后我们的判定为停止,由于停止我们动不了,当我们再次进行判定的时候依然处于碰撞状态,这时候就永远动不了了。

那么我们该怎么办呢? --- 答案是采用拖影式碰撞检测,我们将碰撞体沿着游戏物体对象当前方向偏移几个像素后,用这个碰撞体进行检测

如果发生碰撞 --- 游戏对象停止 ---> 游戏对象转向 ---> 游戏对象方向改变 ---> 碰撞体更新到新方向 ---> 碰撞体在新方向上进行碰撞检测

拖影式检测可以避免直接把游戏对象作为碰撞体的时候导致一旦碰撞无论怎么转向都会卡死的问题,通过拖影式检测引入转向使得我们可以做到多向检测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值