我正在制作一個游戲并將其轉換為 Windows 上的 .exe,但是在運行時我看到我的 blit 看起來比平時更厚。我還注意到在使用我制作的菜單選擇器時,當它們是同一張圖片時,它會生成兩張圖片。這是它的樣子https://youtu.be/GEh61ahTTPI我嘗試使菜單選擇器更流暢,并嘗試使用不同的圖片文件。Title = pygame.image.load('Graphics/Title.png')Play = pygame.image.load('Graphics/Play.png')Option = pygame.image.load('Graphics/Option.png')Exit = pygame.image.load('Graphics/Exit.png')LinePX = pygame.image.load('Graphics/LinePX.png')LineO = pygame.image.load('Graphics/LineO.png')clock = pygame.time.Clock()screen = pygame.display.set_mode((1280, 720))screen.fill((0,0,0))screen.set_alpha(0)black = pygame.image.load('Graphics/black.png')controlstart = Truey = 235y1 = 3000xb = 10000yb = 10000cnt = 0playing = Truewhile playing: for event in pygame.event.get(): if controlstart == True: if event.type == pygame.KEYDOWN: if event.key==pygame.K_KP_ENTER or event.key==pygame.K_RETURN: pygame.mixer.music.stop() pygame.mixer.Channel(2).play(enter_sfx) y += 1 fade(1280, 720) xb = 0 yb = 0 if y == 3236: controlstart = False if y == 436: playing = False pygame.quit() quit() if event.key == pygame.K_UP: pygame.mixer.Channel(3).play(move_sfx) y += 1 if y == 3236: y = 235 y1 = 3000 if y == 236: y = 435 y1 = 3000 if y == 436: y1 =335 y = 3235我希望輸出一個普通菜單,而不是一個厚而有故障的菜單,但結果很奇怪。
1 回答

嗶嗶one
TA貢獻1854條經驗 獲得超8個贊
在里面while playing
你應該清除屏幕 - 即。screen.fill( (0,0,0) )
在繪制所有元素之前。通過這種方式,您將獲得菜單中所選項目的動畫。
而不是fill()
您也可以使用blit()
一些圖像/背景來刪除所有元素。
添加回答
舉報
0/150
提交
取消