Я пытаюсь написать программу, использующую pygame, для создания класса с именем Dot()
, который позволяет мне реализовывать объекты Dot, которые будут маленькими кругами с радиусом 2 пикселя.Я пытаюсь создать их в своем основном игровом цикле, но получаю сообщение об ошибке «имя« х »не определено».Я не уверен, почему это так.Если бы он выдавал такую ошибку, я бы ожидал, что он сначала скажет, что цвет не определен, так как он указан первым в списке параметров.Я не уверен, что моя ошибка вызвана тем, как я написал сам класс, или это что-то в моей реализации класса (я почти уверен, что я сделал это неправильно, но я пробовал несколько разных способов, какну и продолжайте получать ту же ошибку), или если это или оба.
#!/usr/bin/env python
import random, pygame, sys
from random import randint
from pygame.locals import *
pygame.init()
FPS = 30
fpsClock = pygame.time.Clock()
DISPLAYSURF = pygame.display.set_mode((700, 700), 0, 32)
pygame.display.set_caption('Version02')
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = ( 0, 255, 0)
BLUE = ( 0, 0, 255)
class Dot():
def __init__(self, color, x, y):
self = pygame.draw.circle(DISPLAYSURF, color, (x, y), 2, 0)
self.color = getDotColor()
self.x = getDotX()
self.y = getDotY()
def getDotColor():
color = random.choice([RED, GREEN, BLUE])
return color
def getDotX():
x = randint(0, 700)
return x
def getDotY():
y = randint(0, 700)
return y
while True: #main game loop
DISPLAYSURF.fill(WHITE)
dot = Dot(color, x, y)#I'm not exactly sure how to implement this correctly
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
fpsClock.tick(FPS)