我不知道为什么,但是当我按下向上键时,没有错误,但是我的精灵没有任何反应。我尝试查看pygame文档,但是无论我做什么,都没有任何效果。
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.char = os.path.join(player_folder, "p_stand.png")
self.walkcount = 0
self.jumping = False
self.jumpCount = 0
self.image = pygame.image.load(self.char).convert()
self.image.set_colorkey((0, 0, 0))
self.rect = self.image.get_rect()
self.rect.right = 0
self.rect.bottom = int(height - 70)
def update(self):
self.keys = pygame.key.get_pressed()
if self.keys[pygame.K_UP] and self.jumping == False:
self.jumping = True
if self.jumping:
if self.jumpCount <= 5:
self.rect.move(0, 1)
self.jumpCount += 1
elif self.jumpCount > 5 and self.jumpCount < 10:
self.rect.move(0, -1)
self.jumpCount += 1
else:
self.jumpCount = 0
self.jumping = False
pygame.Rect.move
不会更改对象实例的位置属性。该方法pygame.Rect
使用新位置创建一个新位置并返回它。
您必须将返回值分配给该属性。例如:
self.rect.move(0, -1)
self.rect = self.rect.move(0, -1)
在pygame中,y轴的方向朝下。如果要跳起来,则必须move(0, -1)
:
def update(self):
self.keys = pygame.key.get_pressed()
if self.keys[pygame.K_UP] and self.jumping == False:
self.jumping = True
if self.jumping:
if self.jumpCount <= 5:
self.rect = self.rect.move(0, -1)
self.jumpCount += 1
elif self.jumpCount > 5 and self.jumpCount < 10:
self.rect = self.rect.move(0, 1)
self.jumpCount += 1
else:
self.jumpCount = 0
self.jumping = False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句