在XNA中绘制2D曲线

4

有没有办法生成一个曲线类并在XNA屏幕上以2D形式绘制该曲线?

我想使用Curve随机生成一些地形,然后进行绘制。希望能够使用该曲线来检测与地面的碰撞。

1个回答

4
看起来你想要的是一个二维高度图。我建议不要制作真正的“曲线”,而是用线段来近似表示。
因此,你将拥有一个数字数组或列表,代表在一系列均匀间隔(水平方向)的点上地形的高度。当你需要两个点之间的高度时,只需在两个点之间进行线性插值即可。 生成高度图 - 你可以随机设置几个点,然后使用某种平滑插值方法来设置其余部分。(这取决于你想要的曲线类型。) 渲染高度图 - 然后你只需使用三角形带来渲染它。你的高度图中的每个点都会有两个与之关联的顶点 - 一个在屏幕底部,另一个在高度图中该点的高度处。 碰撞检测 - 最简单的方法是将你的物体设为单个点(听起来你正在制作像Scorched Earth这样的炮击游戏)- 只需获取你的物体的X位置,在那个X位置上获取地形的Y位置,如果你的物体的Y位置低于地形,则将其设置为在地形表面上。
以上是大致指南 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接