请教,大神,代码没有错误,为什么运行后没有效果
import pygameimport sys
WIDTH = 360
HEIGHT = 480
FPS = 30
WHITE = (255,255,255)
BLACK = (0,0,0)
RED = (255,0,0)
GREEN = (0,255,0)
BLUE = (0,0,255)
pygame.display.set_caption("my game")
clock=pygame.time.Clock()
pygame.init()
pygame.mixer.init()
screen=pygame.display.set_mode((WIDTH,HEIGHT))
screen.fill(BLACK)
class Player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image=pygame.Surface((100,100))
self.image.fill(GREEN)
self.rect=self.image.get_rect()
self.rect.center=(WIDTH/2,HEIGHT/2)
def update(self):
self.rect.x+=5
if self.rect.left>WIDTH:
self.rect.right=0
all_sprites=pygame.sprite.Group()
player=Player()
all_sprites.add(player)
running=True
while running:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running=False
all_sprites.update()
all_sprites.draw(screen)
pygame.display.flip() all_sprites.update()
all_sprites.draw(screen)
pygame.display.flip()
以上几段代码应该在 while 里面
一般游戏渲染类似于一张张图片摆在眼前一样,由于速度超级快(以FPS帧计算),所以可以骗过我们人类的眼睛。while 语句类似于把已经画好的图一张张呈现在画面里,但是你的呈现图片的代码却在 while 外面? 傻眼貓咪 发表于 2021-10-31 08:33
all_sprites.update()
all_sprites.draw(screen)
谢谢帮助,已按解决。
页:
[1]