@weRifiCatoR
Начинающий программист

Как делать каждый пиксель всё тускнее?

Очень долго думаю, уже мозги скоро скипят, везде где можно было поискать тоже поискал но ответа не нашёл...

Задача заключается в том, что есть некая змейка, у которой каждую частичку ее тела нужно делать более темнее предыдущей. Снизу мой единственный адекватный вариант, к которому я пришел, но результат конечно же не тот который хотелось бы, это можно увидеть уже на скриншоте.

# рисуем хвосты змейки
color = 0.9
for pix in snake[1]:
	pygame.draw.rect(screen, [i*color for i in snake[0]["color"]],  [pix[0], pix[1], 10, 10])

	color -= 0.1
	if color < 0.1:
		color = 0.9


61f2b09be40f9845927953.png

То есть змейка через какое то количество итераций (а именно 9) начинает повторять свою окраску, я конечно же понимаю что приводит к такому результату, то что в коде у меня указано color=0.9.

Мне нужна какая та формула, или же какой ни будь алгоритм, который используя длину (int) всех пикселей змейки на данный момент, которые хранятся в snake[1], высчитывает некое такое значение для переменной color, которое при каждой итерации цикла будет окрашивать каждый последующий пиксель змейки в более темнее цвет, ориентируясь на количестве всех пикселей змейки (snake[1]).

Думаю что понятно объяснил.
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
@twistfire92
Python backend developer
ну как-то так. шаг понижения яркости рассчитал и все
color = 0.9
step = 0.9/len(snake[1])
for pix in snake[1]:
  pygame.draw.rect(screen, [i*color for i in snake[0]["color"]],  [pix[0], pix[1], 10, 10])
  color -= step
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы