微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在我的 pygame 游戏中添加碰撞?

如何解决如何在我的 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 举报,一经查实,本站将立刻删除。