この質問はPygameの文脈で尋ねられていますが、私はどのような種類のグラフィックプログラミングにとっても良い解決策について疑問を抱いています。グローバル画面変数を避ける方法は?
グラフィックスプログラムを書くたびに、通常、表示される画面のデータを保持する画面変数があります。私が見たすべての例は、この変数をグローバルにして、他のすべてのオブジェクトが以下の簡単な例のように簡単にアクセスできるようにします。
import pygame
background_colour = (255,255,255)
(width, height) = (300, 200)
class Particle:
def __init__(self, (x, y), size):
self.x = x
self.y = y
self.size = size
self.colour = (0, 0, 255)
self.thickness = 1
def display(self):
pygame.draw.circle(screen, self.colour, (self.x, self.y), self.size, self.thickness)
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption('Tutorial 2')
screen.fill(background_colour)
my_first_particle = Particle((150, 50), 15)
my_first_particle.display()
pygame.display.flip()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
私の質問は、画面がグローバルでないようにこれを行うより良い方法があるかどうかです。ありがとう!