问题描述
我不知道如何添加与平台的碰撞
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 (将#修改为@)