我现在正试着用SlimDX用C#写一个小游戏引擎,只是为了好玩。
我希望我的世界是可破坏的,所以我必须能够修改我的地图。我的地图目前是基于矢量的,由一个ID2D1PathGeometry (PathGeometry in SlimDX)对象表示。使用ID2D1Geometry (SlimDX中的几何体)的CombineWithGeometry方法修改此对象。
对于合理的碰撞检测,我需要了解我的ID2D1PathGeometry对象的确切形状,例如,用于计算球在墙上反弹的角度。
那么,是否可以访问我的ID2D1PathGeometry对象的所有或特定(每个位置)段/线/点?或者有没有其他更好的方法来实现我的目标,例如,将所有线条和形状额外存储在另一个数据结构中?
请注意,基于位图的贴图不适合在这里使用,因为我不想让内存作为贴图大小的限制。
致以最良好的问候,艾米
发布于 2013-01-25 05:32:46
无法仅检索靠近某一点的几何图形段,但有一种方法可以检索所有几何图形段。
有关更多信息和示例,请访问How to Retrieve Geometry Data by Extending ID2D1SimplifiedGeometrySink
如果您只对检索某个点附近的部分感兴趣,那么您可能想要:
使用上述方法使用相交几何的D2D1_COMBINE_MODE==D2D1_COMBINE_MODE_INTERSECT.
ID2D1Geometry::CombineWithGeometry创建围绕相交几何的点的矩形几何。更多信息:ID2D1Geometry::CombineWithGeometry method
https://stackoverflow.com/questions/8994544
复制相似问题