我不知道为什么,但我的角色在显示中,但无法移动,它位于精灵组中,并且一直在更新
class player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface( (30 , 30))
self.image.fill (red)
self.rect = self.image.get_rect ()
self.rect.y = height /2
self.rect.x = width-50
self.speedy = 0
def update(self):
self.speedy = 0
keystate = pygame.key.get_pressed()
if keystate[pygame.K_UP]:
self.speedy = 8
if keystate[pygame.K_DOWN]:
self.speedy = -8
if self.rect.bottom >= height:
self.rect.top = 0
if self.rect.top <= 0:
self.rect.bottom = height
你必须通过“speedy”不断改变“update”方法中“.rect”属性的位置:
self.rect.y += self.speedy
确保这件事pygame.sprite.Group.update在每一帧中调用并在评估速度后更改位置:
class player(pygame.sprite.Sprite):
# [...]
def update(self):
self.speedy = 0
keystate = pygame.key.get_pressed()
if keystate[pygame.K_UP]:
self.speedy = 8
if keystate[pygame.K_DOWN]:
self.speedy = -8
self.rect.y += self.speedy
if self.rect.bottom >= height:
self.rect.top = 0
if self.rect.top <= 0:
self.rect.bottom = height
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)