столкновение с пигамным спрайтом / платформой - PullRequest
0 голосов
/ 18 октября 2019

Мое текущее боковое столкновение не работает должным образом, и я не могу понять, как. Я хотел бы, чтобы все блоки отображались на экране, чтобы быть границами для моего основного спрайта. Это платформерная игра. Как определить границы? У меня есть массив всех координат блока.

def check_side_collision(self,a,aw,ah,b,bw,bh):# ffs how dis not working
    ax,ay = a[0],a[1]
    bx,by = b[0],b[1]

    #print('a: %s,%s,%s,%s' % (ax,ay,aw,ah))
    #print('b: %s,%s,%s,%s' % (bx,by,bw,bh))
    #print('gamespeed: %s' % self.gameSpeed)

    if ax + aw < bx:
      print(1)
      if by <= ay + ah <= by + bh:
        print(2)
        if ax + aw + self.gameSpeed > bx:
          print(ax + aw + self.gameSpeed, bx)
          return True
        else:
          return False
      elif by <= ay <= by + bh:
        print(3)
        if ax + aw + self.gameSpeed > bx:
          return True
        else:
          return False
      else:
        return False

    elif bx + bw < ax:
      print(-1)
      if by <= ay + ah <= by + bh:
        print(-2)
        if ax - self.gameSpeed < bx + bw:
          return True
        else:
          return False
      elif by <= ay <= by + bh:
        print(-3)
        if ax - self.gameSpeed < bx + bw:
          return True
        else:
          return False
      else:
        return False
    else:
      return False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...