В настоящее время я пишу простую компьютерную игру для школьного курсового проекта и столкнулся с проблемой в Pygame. В моей игре игроку просто нужно стрелять по целям, которые летят по воздуху, почти в обратном космосе захватчиков. Моя текущая проблема заключается в том, что я не могу иметь две фигуры на арене одновременно, если одна из них не мерцает и не отстает. Ниже мой код, любая помощь приветствуется. Приветствия.
Кроме того, кто-нибудь знает, как я могу добавить задержку между каждым рисунком. Как я уже говорил выше, я нацеливаюсь на то, чтобы цели находились на достаточном расстоянии друг от друга без наложений, но я хочу, чтобы на экране было несколько объектов одновременно. Ура.
import pygame
#Setting window dimensions and caption (Module 1)
pygame.init()
window = pygame.display.set_mode((800, 575))
pygame.display.set_caption("TARGET PRACTICE")
#Colour variables (Module 1)
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (200, 0, 0)
GREEN = (0, 200, 0)
BLUE = (0, 0, 200)
#Target coordinates and dimensions (Module 3)
#target_x = 0
#target_y = 80
#target_w = 60
#target_h = 40
#target_v = 1
exec = True
class Target:
def __init__(self, x, y, h, w, v):
self.x = x
self.y = y
self.h = h
self.w = w
self.v = v
target_1 = Target(0, 80, 60, 40, 0.1)
target_2 = Target(0, 100, 60, 40, 0.1)
target_3 = Target(0, 50, 60, 40, 1)
clock = 0
while exec:
pygame.time.delay(1)
for event in pygame.event.get():
if event.type == pygame.QUIT:
exec = False
#Target Movement (Module 4)
window.fill(RED)
#Background and target drawing (Module 2)
target_1.x += target_1.v
pygame.draw.rect(window, BLUE, (target_1.x, target_1.y, target_1.h, target_1.w))
clock += 1
if clock%2 == 0:
target_2.x += target_2.v
pygame.draw.rect(window, BLUE, (target_2.x, target_2.y, target_2.h, target_2.w))
pygame.display.update()
pygame.quit()```