Pauza na jedno naciśnięcie

Tekst i stan gry - Gry w Pythonie - wstęp (Python)

Pauzę włącza i wyłącza ten sam klawisz. Trzymany klawisz jest wciśnięty przez wiele ticków, więc reagujemy tylko na moment wciśnięcia: teraz wciśnięty, a tick wcześniej nie (`was_down`). Inaczej pauza przełączałaby się 30 razy na sekundę.

class Game(Sprite):
  def __init__(self):
    self.size = 20
    self.color = (99, 102, 241)
    self.state = "play"
    self.was_down = False
    self.text = ""

  def update(self):
    down = world.key('p')
    if down and not self.was_down:
      if self.state == "play":
        self.state = "pause"
        self.text = "Pauza"
      else:
        self.state = "play"
        self.text = ""
    self.was_down = down

class Ladybug(Sprite):
  def __init__(self):
    self.image = 26
    self.color = (220, 38, 38)
    self.size = 25

  def update(self):
    if game.state == "play":
      self.turn(3)
      self.move(2)

game = Game()
world.add(game)
world.add(Ladybug())
world.start()

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Gry w Pythonie - wstęp·Zaloguj się, aby zapisać postęp na koncie.