Общее предложение для генератора градиентного текста vcnw.ru

27 просмотра

Elivian
Elivian
Игрок

  • Обсуждения: 5
  • Посты: 8
  • Лайки: 1
29 ноября 2025 г. в 18:25
Генератор градиента Minecraft | VanillaClouds Network | Сеть серверов без вайпов
Если двигать левый ползунок, а не правый, то градиент генерируется с ошибкой (левый край заполняется правым цветом):

На самом деле и правый правильно генерируется правильно только по "выходу по дефолту"
Предлагаю ввести проверку на выход за край (форматирование несколько поехало, там 4 строчки, из которых по сути достаточно первые 2, но вторые 2 "для красоты" - чтобы не оставлять на волю случая то, что можно проверить условием)


function getGradientColor(position) {
if (!slider || colors.length === 1) return colors[0];

const values = slider.get().map(parseFloat);

if (position < values[0]) //проверка выхода за границы
return colors[0];
if (position > values[values.length-1])
return colors[values.length-1];

for (let i = 0; i < values.length - 1; i++) {
if (position >= values[i] && position <= values[i + 1]) {
const segmentLength = values[i + 1] - values[i];
const segmentPosition = segmentLength > 0 ? (position - values[i]) / segmentLength : 0;
return interpolateColor(colors[i], colors[i + 1], segmentPosition);
}
}

return colors[colors.length - 1];
}
Исправленная версия:
Rainbow94
Rainbow94
Админ

  • Обсуждения: 4
  • Посты: 58
  • Лайки: 27
30 ноября 2025 г. в 11:01
Спасибо. Исправление реализовано, награда начислена