如何创建类似于iOS游戏Contre Jour的土地(丘陵)? (使用Box2d和OpenGL)
我的想法:
物理(Box2d)
body->SetTransform(...)
)。 您认为使用大量身体有效吗?并通过坐标找到合适的身体?
图形(OpenGL)
通过绘制土地(山丘)可以创建一系列顶点和三角形吗?
这是真的?
最佳答案
您可以使用功能b2World::QueryAABB来获取给定区域中的灯具列表,然后检查这些灯具是否为最佳选择。 Box2D测试平台这样做是为了找出要用鼠标抓取的夹具,以便您可以查看该源代码。另请参阅:http://www.iforce2d.net/b2dtut/world-querying
要移动主体,您确实可以使用SetTransform,如果对象在此过程中无需与任何物体进行交互,则可以使用SetTransform。另一种选择是将SetLinearVelocity设置为一个速度,该速度将在一个时间步中将实体移至拖动点。如果您想要连续拖动以使对象在移动时能够碰到物体,则这是一种更好的方法,因为它不会立即将身体传送到手指位置。如果主体是子弹体,那么它还可以防止用户通过其他物体(例如,静态墙)拖动物体。记得在手指抬起时将速度设置为零:)