Czy się dotykają?

Kolizje - Gry w Pythonie - wstęp (Python)

`self.touches(other)` odpowiada `True`, gdy dwie postacie na siebie nachodzą. Plansza traktuje każdą postać jak koło o średnicy `size`, więc dotykają się, gdy odległość środków jest nie większa niż połowa sumy rozmiarów. Kot chodzi za kursorem, a mysz czerwienieje, gdy kot ją dotknie. Kot jest obiektem `cat`, więc mysz może go zapytać o dotyk.

class Cat(Sprite):
  def __init__(self):
    self.image = 7
    self.color = (234, 88, 12)
    self.size = 35
    self.rotate = False

  def update(self):
    self.position = world.mouse.position

class Mouse(Sprite):
  def __init__(self):
    self.image = 21
    self.size = 25
    self.position = (50, 30)

  def update(self):
    if self.touches(cat):
      self.color = (220, 38, 38)
    else:
      self.color = (120, 113, 108)

cat = Cat()
world.add(cat)
world.add(Mouse())
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.