xna - 在 XNA for Windows Phone 7 中绘制贝塞尔曲线路径

标签 xna windows-phone-7

我是 Windows Phone 7 的新手。我正在编写一个示例游戏,我想在其中随机移动图像。

在与我的一位 friend 讨论时,他告诉我使用贝塞尔曲线。我在网上搜索以了解贝塞尔曲线路径概念。看起来它适合我的解决方案。但是我没有找到任何可以执行此操作的示例代码。

请帮我找 sample 。

最佳答案

Bezier 路径是您问题的有效解决方案,但我可能建议改用 Catmull-Rom 样条。它实现起来要容易得多,尤其是因为 XNA 已经包含一个用于生成这样的样条的函数。它也更易于使用(每个控制点也是样条线上的一个点)。

有问题的函数是Vector2.CatmullRom (还有 Vector3 版本和 MathHelper 中的 float 版本)。您指定四个点。中间两个对你的样条有效。如果您需要两个以上的点,只需在移动时循环输入(第二个成为第一个,第三个成为第二个,依此类推)。 amount 参数指定您想要的沿路径的位置。

Catmull-Rom spline is described here on Wikipedia .

here is an interactive demo showing how the spline works .

关于xna - 在 XNA for Windows Phone 7 中绘制贝塞尔曲线路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3387328/

相关文章:

windows-phone-7 - 我的 Windows Phone 7 应用程序中是否需要有“关于”页面?

c# - 以编程方式使用 LowProfileImageLoader

c# - 使用 DropNet API 从我的 Dropbox 帐户获取所有文件的列表

c# - 二维线段与矩形的交集

c# - 相机翻转问题

c# - XNA 游戏分辨率高于 PC 分辨率 - 它会导致问题吗?

c# - 二维高度图上的基本(假)光线转换

c# - 如何根据旋转缩放图像

c# - 在 WP7 上释放 Application.GetResourceStream 返回的底层 Stream

iphone - 托管应用程序可以利用 PhoneGap API 吗?