XNA(Monogame)我需要一种简短的碰撞方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XNA(Monogame)我需要一种简短的碰撞方式相关的知识,希望对你有一定的参考价值。
我有一个看起来像这样的代码:
/*Need help here*/
if (car1.hitbox.Intersects(parkingLoot[0].hitbox) || car1.hitbox.Intersects(parkingLoot[1].hitbox))
intersects = true;
else
intersects = false;
其中hitboxes
是矩形。如您所见,数组中有2个parkingLoot
对象,我检查了它们。但是,如果我有1000个parkingLoot
对象?我不想使用“ for循环”来检查每个parkingLoot
对象hitbox
是否与汽车相交。
如何检测car1.hitbox
是否与HITBOX
对象的任何PARKINGLOOT
相交
答案
您可以使用System.Linq
扩展名在没有foreach
的情况下遍历集合,如下所示:
var intersects = parkingLoot.Any(_ => car1.hitbox.Intersects(_.hitbox));
或者您可以使用Parallel.ForEach中的System.Threading.Tasks
来并行遍历列表中的项目。
以上是关于XNA(Monogame)我需要一种简短的碰撞方式的主要内容,如果未能解决你的问题,请参考以下文章