2016-12-28 1 views
0

Я новичок в JavaFX. Я пытался выполнить графическую реализацию алгоритма оптимизации колоний муравьев. Моя версия очень проста и включает в себя муравьев, перемещающихся в 2D картезианской плоскости, депонируя феромоны, если и когда они находят пищу.Окраска линии в JavaFX и изменение ее цвета

Я написал некоторый код в JavaFX, который создает круговой узел, представляющий муравья, и перемещает его на сцену сцены, и я думаю, что смогу распространить его и на множество муравьев.

Но я хочу знать, как окрасить линию, соединяющую текущее положение муравья, и это предыдущая позиция. В основном, когда муравьец находит пищу и начинает возвращаться в колонию, ей приходится наносить некоторый феромон вдоль его пути, и я хочу, чтобы этот путь был окрашен, когда муравей движется вдоль него. Также феромон должен испаряться со временем. У меня есть массив, который сохраняет это значение силы феромонов. Так можно ли еще уменьшить оттенок цвета линии пропорционально числу (значение феромонов)?

Спасибо.

ответ

1

Вы можете использовать Line, чтобы добавить сегмент геометрической линии к вашему графику сцены. Впоследствии вы можете позвонить setStroke, чтобы установить цвет для этой строки. Метод может принимать объект Color. Существуют различные способы манипулирования оттенком цветового объекта в предоставленной ссылке, в первую очередь deriveColor, который может использоваться для смещения значения оттенка.

Кроме того, после того, как вы добавили объект Line, вы можете привязать его endX и endY свойствам к вашему муравьям. Таким образом, по мере продвижения муравья вдоль некоторого пути он «перетаскивает» конец объекта Line за ним. Я считаю, что это желаемое поведение, которое вы пытаетесь достичь.

Смежные вопросы