在 MonoGame / XNA 4 中绘制虚线的最简单方法是什么?
我应该使用 3d 基元还是可以用一个简单的精灵来实现它?
bitbucket 上的用户 C3 发布了一个很好的实用程序类来创建 2D 基元。这些将扩展方法添加到 SpriteBatch 类。存储库在这里:https ://bitbucket.org/C3/2d-xna-primitives/wiki/Home
欢迎
欢迎来到 2D XNA Primitives 项目的新家,现在使用 Bitbucket 上的 Mercurial 存储库!现在与 Windows Phone 兼容。
功能参考
该库提供的所有公共方法都是扩展方法,这意味着您可以通过您自己的 SpriteBatch 实例直接访问它们,就好像这些方法内置在 SpriteBatch 类中一样。如果以这种方式调用方法,则可以忽略以下所有调用的第一个参数。
公共方法
画弧
画圆
画线
绘制矩形
填充矩形
放像素
如果它是一条直线(简单的 90 度转弯),那么精灵可能是最简单的。
(如果您可以通过 HiDef 配置文件访问自定义着色器,那么在保持需求简单的情况下,在着色器中实现虚线并不难)
如果它以不规则的方式扭曲和转动,那么我建议使用 3d 基元。
把问题分成两部分。
1)定义曲线的形状,如果它不是直线。
2)沿着这条曲线,用虚线的纹理创建一个三角形条带。