如何在MonoGame / XNA中绘制虚线

本文关键字:绘制 虚线 XNA MonoGame | 更新日期: 2023-09-27 18:03:37

在《一夫一妻》/《XNA 4》中绘制虚线的最简单方法是什么?

我应该使用3d原语还是可以用一个简单的精灵来实现?

如何在MonoGame / XNA中绘制虚线

用户C3在bitbucket上发布了一个很好的实用程序类来创建2D原语。它们为SpriteBatch类添加了扩展方法。存储库在这里:https://bitbucket.org/C3/2d-xna-primitives/wiki/Home


欢迎

欢迎来到2D XNA原语项目的新家,现在使用Bitbucket上的Mercurial存储库!现在可以兼容Windows phone了

函数引用

这个库提供的所有公共方法都是扩展方法,这意味着你可以直接通过你自己的SpriteBatch实例访问它们,就好像这些方法是内置到SpriteBatch类中的一样。如果以这种方式调用方法,则可以忽略的第一个参数,然后调用所有

公共方法

DrawArc

DrawCircle

画直线

DrawRectangle

FillRectangle

PutPixel

如果它是一条直线(带有简单的90度转弯),那么精灵可能是最简单的。

(如果你已经通过HiDef配置文件访问自定义着色器,那么在着色器中实现虚线并不太难,如果一个人保持自己的需求简单)

如果它以不规则的方式扭曲和转动,那么我建议使用3d原语。

把问题分成两部分。

1)定义曲线的形状,如果它不是直线。

2)沿着那条曲线,用你想要的虚线纹理创建一个三角形带。