Я хочу нарисовать прямоугольник на моем экране, однако, когда я вызываю функцию, чтобы сделать это, он говорит, что я пропускаю аргумент для "поверхности"
Как видно из кода ниже, функцияв классе.Функция содержит два параметра: «self» и «surface», и я передаю переменную «screen» вместо «surface», чтобы я мог нарисовать прямоугольник:
import pygame
import time
pygame.init()
(width, height) = (600, 400)
bg_colour = (100, 20, 156)
class infoBox(object):
def __init__(self, surface):
self.box = pygame.draw.rect(surface, (255,255,255),(0,400,400,100),2)
def draw(self, surface):
surface.blit(self.box)
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("battle EduGame")
clock = pygame.time.Clock()
pygame.display.flip()
gameRun = True
while gameRun:
event = pygame.event.poll()
if event.type == pygame.QUIT: #if the "x" is pressed
pygame.quit() #quit game
gameRun = False #break the loop.
quit()
screen.fill(bg_colour)
infoBox.draw(screen)
pygame.display.update()
clock.tick(60)
Я сделалтакие вещи, как это было в предыдущих кодах, но здесь он не работает.