Здравствуйте, я новичок в pygame, и я пытаюсь сделать заставку для игры, в которой пользователь наводит курсор на экран компьютера, а затем экран становится синим, поэтому укажите, что при нажатии на нее игра запустится. Однако синий прямоугольник просто не отображается? Кстати, заставка похожа на гифку, но состоит из множества разных кадров.
Это мой код:
import pygame
import pygame.gfxdraw
import threading
pygame.init()
width = 800
height = 600
fps = 30
clock = pygame.time.Clock()
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
screen = pygame.display.set_mode((width, height))
def introLoop():
while intro:
for i in range(0, 26):
clock.tick(8)
i = str(i)
introScreen = pygame.image.load("introScreen/" + i + ".gif")
introScreen = pygame.transform.scale(introScreen, (width, height))
screen.blit(introScreen, (30, 30))
pygame.display.flip()
def gameLoop():
while intro:
mouseX, mouseY = pygame.mouse.get_pos()
startRectArea = pygame.Rect(279, 276, 220, 128)
if startRectArea.collidepoint(mouseX, mouseY):
StartRect = pygame.draw.rect(screen, blue, (279, 276, 220, 128), 0)
pygame.display.update()
for event in pygame.event.get():
holder = 0
introThread = threading.Thread(target = introLoop)
gameThread = threading.Thread(target = gameLoop)
intro = True
introThread.start()
gameThread.start()
Сообщения об ошибке нет, просто синий прямоугольник не отображается? Пожалуйста, помогите, мне это нужно для школьного проекта.
Это только что ответило ошибкой: аргумент introLoop() после * должен быть итерируемым, а не логическим