0
这是我现在使用的代码:快速碰撞检测算法
For Local i : Int = 0 To Entity.Entities.Count() - 1
For Local j : Int = 0 To Entity.Entities.Count() - 1
If j = i Or Not Entity(Entity.Entities.ValueAtIndex(i)).IsPhyicsEnabled Or Not Entity(Entity.Entities.ValueAtIndex(j)).IsPhyicsEnabled
Continue
EndIf
Local a : Entity = Entity(Entity.Entities.ValueAtIndex(i));
Local b : Entity = Entity(Entity.Entities.ValueAtIndex(j));
Local dist : Float = Sqr(((a.Position.X - b.Position.X)^2) + ((a.Position.Y - b.Position.Y)^2))
If dist < Min(a.Radius, b.Radius)
a.Collide(b)
EndIf
Next
Next
的麻烦,这就是循环。检查完成的方式太多了。有什么办法可以减少这种情况吗?