为什么当我将其闪烁到屏幕上时,为什么我的pygame sprite移动?
我试图用pygame将一个精灵吹到屏幕上。
这是我的代码:
class Player(pygame.sprite.Sprite):
def __init__(self):
self.x = 0
self.y = 0
super().__init__()
self.surf = pygame.Surface((50,50))
self.surf.fill((20, 115, 224))
self.rect = self.surf.get_rect()
def update(self):
print("Updated")
GRAVITY = 10
self.y += GRAVITY
self.rect = (self.x,self.y)
def game_loop():
run = True
while run:
WINDOW.fill((52, 183, 235))
Player().update()
WINDOW.blit(Player().surf,(Player().x,Player().y))
pygame.display.update()
我遇到的特定部分是:
def update(self):
print("Updated")
GRAVITY = 10
self.y += GRAVITY
self.rect = (self.x,self.y)
当
Player().update()
WINDOW.blit(Player().surf,(Player().x,Player().y))
我运行此代码时,即使 self.y 是通过重力添加 self.y ,精灵也不会从屏幕上移动。我该如何修复?
I tried to blit a sprite to the screen in Pygame.
Here's my code:
class Player(pygame.sprite.Sprite):
def __init__(self):
self.x = 0
self.y = 0
super().__init__()
self.surf = pygame.Surface((50,50))
self.surf.fill((20, 115, 224))
self.rect = self.surf.get_rect()
def update(self):
print("Updated")
GRAVITY = 10
self.y += GRAVITY
self.rect = (self.x,self.y)
def game_loop():
run = True
while run:
WINDOW.fill((52, 183, 235))
Player().update()
WINDOW.blit(Player().surf,(Player().x,Player().y))
pygame.display.update()
The specific part I am having trouble with are:
def update(self):
print("Updated")
GRAVITY = 10
self.y += GRAVITY
self.rect = (self.x,self.y)
and
Player().update()
WINDOW.blit(Player().surf,(Player().x,Player().y))
When I run this code, the sprite doesn't move from the screen even though self.y is being added by gravity. How can I fix it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我了解您的代码,您每次参考
player()
时,都在实例化具有默认设置的新播放器()。尝试:
As I understand your code, you are instantiating a new Player() with default settings everytime you refer to
Player()
.Try: