2013-03-11 118 views

回答

1

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

(如果你有通过HiDef轮廓,然后在着色器实现虚线,即可定制着色器是不是如果一个人守一个人的需求简单太难了)

如果它扭曲和不规则的方式转动,然后我会建议使用3D基元。

+0

谢谢!我不知道我怎样才能用精灵绘制虚线。 有没有办法剪切一个画出的精灵(有一条长线并相应剪辑它?) 或者我必须绘制多个精灵(每个节段一个)并重复它们(看起来像是次优?) – adrin 2013-03-12 16:22:53

+0

发生的两个选项对我来说,有一个全白的精灵,并用间距重复绘制它......或者让一个精灵在纹理中包含一个或多个空格,并使用设置为包装的纹理进行缩放。 – lzcd 2013-03-12 21:52:18

5

bitbucket上的用户C3发布了一个很好的工具类来创建2D基元。这些将扩展方法添加到SpriteBatch类。该库是在这里:https://bitbucket.org/C3/2d-xna-primitives/wiki/Home


欢迎

欢迎的2D XNA原语项目的新房,现在用在一个到位桶Mercurial库!现在与Windows手机兼容。

函数参考

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

公共方法

DrawArc

画圆

的DrawLine

DrawRectangle的

FillRectangle

的putpixel

0

将问题分为两部分。

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

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