Спавн кустов (PyGame)
Я создаю 2Д игру. Пользуюсь Python 3.9 и pygame
В игре в качестве декорации, я создал по краям окна спрайты-кусты, которые должны падать вниз
Как только куст дойдет до середины окна, должен заспавниться другой (для обеих краев). Так вот, когда куст доходит до середины окна, происходит вот это:
Кусты спавнятся бесконечно слегка прикрывая друг друга и фризят игру.
Как мне сделать так чтобы кусты по одному (для обеих краев)?
Вот мой код:
from superwires import games, color
from random import randrange
games.init(screen_width = 530, screen_height = 600, fps = 60)
#Car sprite
class Car(games.Sprite):
image = games.load_image("C:/python/car.bmp")
def __init__(self):
super(Car, self).__init__(image = Car.image,
x = games.mouse.x,
bottom = games.screen.height - 10)
self.score = games.Text(value = 0, size = 25, color = color.yellow,
top = 5, right = games.screen.width/2)
games.screen.add(self.score)
def update(self):
self.x = games.mouse.x
if self.left < 65:
self.left = 65
if self.right > games.screen.width - 65:
self.right = games.screen.width - 65
#Tree sprite
class Bush(games.Sprite):
image = games.load_image("C:/python/bush.bmp")
speed = 1
def __init__(self, x = 20, y = 100):
super(Bush, self).__init__(image = Bush.image,
x = x, y = y,
dy = Bush.speed)
def update(self):
if self.bottom > games.screen.height/2:
newbush1 = Bush(515, -100)
newbush2 = Bush(20, -100)
games.screen.add(newbush)
#Start
def main():
road = games.load_image("road.jpg", transparent = False)
games.screen.background = road
bush1 = Bush()
bush2 = Bush(515, -100)
car = Car()
games.screen.add(bush1)
games.screen.add(bush2)
games.screen.add(car)
games.mouse.is_visible = False
games.screen.event_grab = True
games.screen.mainloop()
main()

