Попытка добавления объектов в список с помощью MOUSEBUTTONDOWN

Tacey спросил: 03 февраля 2018 в 09:58 в: python

Я создаю версию boids, и я пытаюсь добавить boids в список, используя pygames MOUSEBUTTONDOWN fucntion. В какой-то степени он отлично работает. Я хочу, чтобы он добавил один экземпляр объекта, но он добавляет много, когда щелкнул левой кнопкой мыши.

from precode import *
from config import *
import pygame as pg
from boids import Boid
from obstacle import Obstacledef boids():
screen_res = (SCREEN_W,SCREEN_H)
pg.init()
screen = pg.display.set_mode(screen_res)
clock = pg.time.Clock()
boids = []
obstacles = []
while True:
    for event in pg.event.get():
        if event.type == pg.QUIT or event.type == pg.KEYDOWN:
            if event.key == pg.K_ESCAPE:
                exit()
    pg.draw.rect(screen, (0,0,0), (0, 0, screen.get_width(), screen.get_height()))
    time_passed = clock.tick(60) # limit to 60FPS
    time_passed_seconds = time_passed / 1000.0   # convert to seconds    if event.type == pg.MOUSEBUTTONDOWN and event.button == LEFT:
        x, y = pg.mouse.get_pos()
        obstacles.append(Obstacle(screen, Vector2D(x,y)))
    for obstacle in obstacles:
        obstacle.draw()    if event.type == pg.MOUSEBUTTONDOWN and event.button == RIGHT:
        x, y = pg.mouse.get_pos()
        boids.append(Boid(screen, Vector2D(x,y), Vector2D(10,5)))
    for boid in boids:
        boid.move()
        boid.draw()    pg.display.update()
if __name__ == '__main__':
    boids()

Класс для boids и препятствий - это простые классы, и я могу добавьте их, если необходимо.

0 ответов