Цветовой градиент для списка объектов в pygamePython

Программы на Python
Anonymous
Цветовой градиент для списка объектов в pygame

Сообщение Anonymous »

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

Код: Выделить всё

import colorsys

class Snake:
def __init__(self):
self.body = [Vector2(5,no_cell/2), Vector2(4,no_cell/2), Vector2(3,no_cell/2)]
self.direction = Vector2(1,0)
self.new_block = False
self.start_hue = 0.0
self.end_hue = 0.7
self.num_steps = 20

def generate_gradient(self, start_hue, end_hue, num_steps):
hues = []
for i in range(num_steps):
hue = start_hue + (end_hue - start_hue) * (i / (num_steps - 1))
hues.append(hue % 1.0)
colours = [colorsys.hsv_to_rgb(hue, 1.0, 1.0) for hue in hues]

return colours

def draw_snake(self):
colours = self.generate_gradient(self.start_hue, self.end_hue,
self.num_steps)
for rgb in colours:
for block in self.body:
x_pos = int(block.x * cell_size)
y_pos = int(block.y * cell_size)
block_rect = pygame.Rect(x_pos + grid_border, y_pos +
heading_border + grid_border, cell_size, cell_size)
rgb = tuple(int(value * 255) for value in rgb)
pygame.draw.rect(screen, rgb, block_rect)
когда я запускаю это, я получаю следующую ошибку:
"pygame.draw.rect(screen, rgb, block_rect)
ValueError: неверный аргумент цвета"< /п>

Подробнее здесь: https://stackoverflow.com/questions/783 ... -in-pygame

Вернуться в «Python»