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