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