如何解决如何在我的 pygame 游戏中添加碰撞?
我不知道如何添加与平台的碰撞
class Platform(pygame.sprite.Sprite):
def __init__(self,xloc,yloc,imgw,imgh,img):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(os.path.join('grafika',img)).convert()
self.image.convert_alpha()
self.rect = self.image.get_rect()
self.rect.y = yloc
self.rect.x = xloc
class Player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.movex = 0
self.movey = 0
self.frame = 0
self.playerx = 10
self.playery = 475
self.jump_images = []
self.right_images = []
self.left_images = []
for i in range(45):
img = pygame.image.load(f"grafika/przod/sprite_{i}.png")
img.convert_alpha()
self.right_images.append(img)
self.image = self.right_images[0]
self.rect = self.image.get_rect()
for i in range(45):
img = pygame.image.load(f"grafika/tyl/tyl{i}.png")
img.convert_alpha()
self.left_images.append(img)
self.image = self.left_images[0]
self.rect = self.image.get_rect()
def control(self,x,y):
self.movex += x
self.movey += y
def update(self):
self.playerx += self.movex
self.playery += self.movey
if self.movex < 0:
self.frame += 1
if self.frame + 1 == 46:
self.frame = 0
self.image = self.left_images[self.frame]
self.movex = 0
self.movey = 0
if self.movex > 0:
self.frame += 1
if self.frame + 1 == 46:
self.frame = 0
self.image = self.right_images[self.frame]
self.movex = 0
self.movey = 0
if self.movey < 0:
self.movex = 0
self.movey = 0
else:
self.movey = 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。