Я хочу, чтобы прямоугольник исчезал с зеленого на красный для индикатора жизни, но не смог найти простой способ сделать это на inte rnet.
Я пытался так (просто для перехода от от красного к желтому):
colorR = 0
colorG = 255
colorB = 0
change = True
while change:
pygame.draw.rect(win, (colorR, colorG, colorB), (10, 10, 200, 50), 0)
colorR += 1
if colorR == 255:
print("done")
Я также пытался сделать это с for i in range(0, 255):
Это говорит pygame.draw.rect(win, (colorR, colorG, colorB), (10, 10, 200, 50), 0)
TypeError: invalid color argument
Но когда я просто рисую прямоугольник, как это :
colorR = 0
colorG = 255
colorB = 0
pygame.draw.rect(win, (colorR, colorG, colorB), (10, 10, 200, 50), 0)
прямоугольник отображается зеленым цветом.
Мой метод верен или нет. сделать это по-другому? Спасибо за ответ
edit: вот и вся программа, возможно, там есть ошибки, потому что прямоугольник не появляется до того, как он приобретет свой окончательный цвет
import pygame, math
pygame.init()
length = 1440
heigth = 700
win = pygame.display.set_mode((length, heigth))#, pygame.FULLSCREEN)
menuImg = pygame.image.load('menu_img.jpg')
laser = pygame.image.load('projectile.png')
clock = pygame.time.Clock()
game = False
def rgw():
win.fill((0, 0, 255))
if game:
print("game")
colorR = 0
colorG = 255
colorB = 0
change = True
while change:
pygame.draw.rect(win, (colorR, colorG, colorB), (10, 10, 200, 50), 0)
colorR += 1
if colorR == 255:
change = False
pygame.display.flip()
pygame.display.update()
run = True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
if event.type == pygame.MOUSEBUTTONDOWN:
game = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_BACKSPACE:
run = False
rgw()
pygame.quit()