Как проще всего нарисовать пунктирную линию в MonoGame/XNA 4?
Должен ли я использовать 3D-примитивы или я могу добиться этого с помощью простого спрайта?
Как проще всего нарисовать пунктирную линию в MonoGame/XNA 4?
Должен ли я использовать 3D-примитивы или я могу добиться этого с помощью простого спрайта?
Пользователь C3 на bitbucket опубликовал хороший служебный класс для создания 2D-примитивов. Они добавляют методы расширения к классу SpriteBatch. Репозиторий находится здесь: https://bitbucket.org/C3/2d-xna-primitives/wiki/Home
Добро пожаловать
Добро пожаловать в новый дом проекта 2D XNA Primitives, который теперь использует репозиторий Mercurial на Bitbucket! Теперь совместим с Windows Phone.
Справочник по функциям
Все общедоступные методы, предоставляемые этой библиотекой, являются методами расширения, что означает, что вы можете обращаться к ним напрямую через свой собственный экземпляр SpriteBatch, как если бы эти методы были встроенными в класс SpriteBatch. Если вы вызываете методы таким образом, вы можете игнорировать первый параметр всех следующих вызовов.
Общедоступные методы
DrawArc
DrawCircle
DrawLine
рисоватьпрямоугольник
ЗаполнитьПрямоугольник
Поставить пиксель
Если это прямая линия (с простыми поворотами на 90 градусов), то спрайт, вероятно, будет самым простым.
(Если у вас есть доступ к пользовательским шейдерам через профиль HiDef, то получить пунктирные линии в шейдерах не так уж сложно, если не усложнять свои потребности)
Если он скручивается и поворачивается нерегулярно, я бы предложил использовать 3D-примитивы.
Разбейте проблему на две части.
1) Определите форму кривой, если это не прямая линия.
2) Вдоль этой кривой создайте треугольную полосу с текстурой, которую вы хотите видеть в виде пунктирной линии.