Перейти к содержимому

Set Marker

Одна инструкция на все свойства всех меток: что этот вид понимает, то и меняется

среднийНужно знать: Создать метку, Цвет одним числом
тик 0
Прыжок -> 90
если
Создать маркер1
типid #xyзаменить?
Устан. маркер2
типid #цвет
Устан. маркер3
типid #радиус
Создать маркер4
типid #xyзаменить?
Печать5
Устан. маркер6
типid #искать?
Создать маркер7
типid #xyзаменить?
Установить8
=
Устан. маркер9
типid #вращение
@counter0number
поставилиnullnull
setmarker color 1 %ff5555 0 0
setmarker radius 1 20 0 0
setmarker rotation 1 @time 0 0

Метка номер один краснеет, растёт и медленно крутится: последняя строка выполняется каждую итерацию, и поворот идёт вслед за временем.

Поле Что в нём
первое что меняем: свойство из списка
второе номер метки
остальные три значения — сколько нужно этому свойству

Список общий на все виды меток — два с лишним десятка свойств:

Свойство Что делает
pos, endPos переставить метку; у линии — второй конец
color, radius, stroke цвет, размер, толщина линии
shape число сторон многоугольника
rotation, arc поворот и дуга
text, flushText, fontSize текст и его размер
textAlign, lineAlign, labelFlags выравнивание, подложка и обводка подписи
texture, textureSize картинка и её размер
world, minimap, autoscale где метку видно и растёт ли она с приближением
drawLayer порядок: что поверх чего
remove убрать метку совсем

Цвет пишут двумя способами: литералом %ff5555 прямо в поле или упакованным числом из packcolor. Второй способ нужен, когда цвет считается — например, зелёный переходит в красный по мере убывания запаса.

Текст не задаётся значением — он отдаётся из буфера печати:

print "Строить здесь"
setmarker flushText 2 0 0 0

Тот же приём, что у printflush и message: собрали текст, отдали, буфер очистился. Отсюда и удобство — в метку можно печатать числа и переменные, а не только строку.

Свойство Что означает
world рисовать на карте (по умолчанию да)
minimap рисовать на миникарте
autoscale уменьшаться при отдалении, чтобы не заслонять карту

Метку можно вообще убрать с карты и оставить только на миникарте — так делают отметки опасных зон, которые не должны мешать смотреть на базу.

Неофициальный проект, с Anuke не связан. Спрайты, шрифты и переводы Mindustry © Anuke, используются по GPL-3.0; Fira Code — по OFL-1.1. Код сайта — GPL-3.0.