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

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

На самом деле и правый правильно генерируется правильно только по "выходу по дефолту"
Предлагаю ввести проверку на выход за край (форматирование несколько поехало, там 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];
}Исправленная версия:
30 ноября 2025 г. в 11:01
Спасибо. Исправление реализовано, награда начислена
Это обсуждение заблокировано.