我目前正在尝试使用SlimDX在C#中编写一个小游戏引擎,只是为了好玩。
我希望我的世界变得可破坏,所以我必须能够修改我的地图。我的地图目前是基于矢量的,由ID2D1PathGeometry(SlimDX中的PathGeometry)对象表示。使用ID2D1Geometry的CombineWithGeometry方法(SlimDX中的几何)修改此对象。
对于合理的碰撞检测,我需要了解ID2D1PathGeometry对象的确切形状,例如用于计算墙壁弹跳的角度。
那么,是否可以访问我的ID2D1PathGeometry对象的所有或特定(每个位置)的segements / lines / points?或者是否有其他更好的方法来实现我的目标,例如另外在另一个数据结构中存储所有行和形状?
请注意,基于位图的地图不是这里的方式,因为我不想将内存作为地图大小的约束。
最好的问候,Emi
答案 0 :(得分:1)
无法仅检索接近某个点的几何体片段,但有一种方法可以检索所有几何体片段。
更多信息和示例在这里How to Retrieve Geometry Data by Extending ID2D1SimplifiedGeometrySink
如果您有兴趣只检索接近某一点的部分,也许您想:
ID2D1Geometry::CombineWithGeometry
将其与几何图形相交。