Во время программирования игры я столкнулся с проблемой с клавиатурными командами. В моем коде у меня есть фуд-бар и переменная денежного банка с именем money_bar
. Панель еды в моей игре будет увеличиваться, когда я нажимаю клавишу, скажем, f , в моей игре, а также игра вычитает, скажем, $ 10 из моего money_bar, когда я нажимаю f .
Индикатор питания показывает текущее количество еды, которое у меня есть, которое должно уменьшаться каждую секунду. Однако, похоже, что ни одна из моих клавиатурных команд в event()
не работает. Могу ли я знать, в чем проблема в моем коде? Это моя инициализация food_bar
и `money_bar:
def __init__(self):
pygame.init()
self.clock = pygame.time.Clock()
self.living = 1
self.screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption(TITLE)
self.time = pygame.time.get_ticks()
pygame.key.set_repeat(500, 100)
self.all_sprites = pygame.sprite.Group()
self.console = Console(self, 0)
self.player = Player(self, 390, 595)
self.work = Work(self, 450, 250)
self.food_station = Food_Station(self, 750, 200)
self.food = Food(self, 25, 20)
self.education = Education(self, 300, 10)
self.school = School(self, 100, 200)
self.family = Family(self, 600, 10)
self.money = Money(self, 800, 15)
initial_food = 100
self.food_bar = initial_food
initial_money = 0
self.money_bar = initial_money
initial_education = "Student"
self.education_level = initial_education
initial_family = 3
self.family_member = 3
Здесь я запускаю основной алгоритм:
def run(self):
self.playing = True
self.hunger()
while self.playing:
self.dt = self.clock.tick(FPS) / 1000
self.events()
self.draw()
self.update()
и вот как я проверяю события (включая команды клавиатуры)
def events(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
self.quit()
if event.type == self.HUNGEREVENT:
self.food_bar = self.food_bar - 10
self.all_sprites.update()
pygame.display.flip()
if event.type == pygame.K_f:
self.money_bar = self.money_bar - 10
self.food_bar = self.food_bar + 15
self.all_sprites.update()
pygame.display.flip()
if event.type == pygame.K_ESCAPE:
self.quit()
Заранее спасибо