我已经把time.sleep(int(这里的任何数字))函数放在我的动画的主游戏循环中,这导致循环重复的速度变慢。由于这一点,我用pygame混音器播放的声音,中断和延迟。它基本上会播放一部分声音一段时间,然后默默地完成其余的代码,然后重新启动。 有没有一种方法可以让我绕过破碎的声音效果?我可以使用不同的声音模块吗
这是我的密码
import pygame
from pygame import mixer
import time
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
Part = 1
frameno = 1
orgp = 1
PC = 0
PV = 0
SS = 1
FrameX = 190
FrameY = 0
FrameXS = 1000
FrameYS = 760
ec = 0
def frameset(xs, ys, x, y, no, img, duration):
if no == frameno:
frameinit = pygame.image.load(img)
frameimg = pygame.transform.scale(frameinit, (xs, ys))
screen.blit(frameimg, (x, y))
time.sleep(int(duration))
pygame.display.update()
start = time.process_time()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
running = False
screen.fill((0, 0, 0))
frameinit = pygame.image.load("2565 Thorana Intro.png")
frameimg = pygame.transform.scale(frameinit, (1000, 760))
screen.blit(frameimg, (210, 0))
pygame.display.update()
if (time.process_time() - start) > 5:
running = False
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
ec = 1
if ec == 1:
running = False
pygame.mixer.quit()
if Part == 1:
pygame.mixer.init()
audio1 = mixer.Sound("Vesak_2565_playlist.wav")
audio1.play()
if Part == 2:
pygame.mixer.init()
audio2 = mixer.Sound("2565 Vesak Thorana P01.wav")
audio2.play()
if Part == 3:
pygame.mixer.init()
audio3 = mixer.Sound("2565 Vesak Thorana P02.wav")
audio3.play()
if Part == 4:
pygame.mixer.init()
audio4 = mixer.Sound("2565 Vesak Thorana P03.wav")
audio4.play()
if Part == 5:
pygame.mixer.init()
audio5 = mixer.Sound("2565 Vesak Thorana P04.wav")
audio5.play()
if Part == 6:
pygame.mixer.init()
audio6 = mixer.Sound("2565 Vesak Thorana P05.wav")
audio6.play()
if Part == 7:
pygame.mixer.init()
audio7 = mixer.Sound("2565 Vesak Thorana P06.wav")
audio7.play()
start = time.process_time()
frameno = 0
orgp = Part
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
ec = 1
if event.key == pygame.K_RIGHT:
PV = 1
if event.key == pygame.K_LEFT:
PV = -1
if event.type == pygame.KEYUP:
if event.type == pygame.K_RIGHT or event.type == pygame.K_LEFT:
PV = 0
screen.fill((0, 0, 0))
Part += PV
PV = 0
if Part > 7:
Part = 1
if Part < 1:
Part = 7
frameno += 1
if frameno == 89:
frameno = 1
if Part == 7:
FrameX = -800
FrameY = -1100
FrameXS = 2500
FrameYS = 2100
if (time.process_time() - start) > 14:
Part = 8
orgp = Part - 1
if Part == 6:
FrameX = -800
FrameY = -750
FrameXS = 2500
FrameYS = 2100
if (time.process_time() - start) > 16:
Part = 7
orgp = Part - 1
if Part == 5:
FrameX = -900
FrameY = -300
FrameXS = 2500
FrameYS = 2100
if (time.process_time() - start) > 28:
Part = 6
orgp = Part-1
if Part == 4:
FrameX = -200
FrameY = -300
FrameXS = 2500
FrameYS = 2100
if (time.process_time() - start) > 25:
Part = 5
orgp = Part-1
if Part == 3:
FrameX = -250
FrameY = -700
FrameXS = 2500
FrameYS = 2100
if (time.process_time() - start) > 20:
Part = 4
orgp = Part-1
if Part == 2:
FrameX = -350
FrameY = -1100
FrameXS = 2500
FrameYS = 2100
if (time.process_time() - start) > 20:
Part = 3
orgp = Part-1
if Part == 1:
FrameX = 190
FrameY = 0
FrameXS = 1000
FrameYS = 760
if (time.process_time() - start) > 124:
Part = 2
orgp = Part-1
if Part == 8:
Part = 1
orgp = 8
frameset(FrameXS, FrameYS, FrameX, FrameY, 1, "2565 Thorana F00.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 2, "2565 Thorana F01.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 3, "2565 Thorana F02.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 4, "2565 Thorana F03.png", 0.9)
frame_loop = 5
for i in range(int(6)):
frameset(FrameXS, FrameYS, FrameX, FrameY, frame_loop, "2565 Thorana F02.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, frame_loop + 1, "2565 Thorana F03.png", 0.7)
frame_loop += 2
frameset(FrameXS, FrameYS, FrameX, FrameY, 17, "2565 Thorana F02.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 18, "2565 Thorana F03.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 19, "2565 Thorana F04.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 20, "2565 Thorana F05.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 21, "2565 Thorana F06.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 22, "2565 Thorana F07.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 23, "2565 Thorana F08.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 24, "2565 Thorana F09.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 25, "2565 Thorana F10.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 26, "2565 Thorana F11.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 27, "2565 Thorana F11.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 28, "2565 Thorana F10.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 29, "2565 Thorana F09.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 30, "2565 Thorana F08.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 31, "2565 Thorana F07.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 32, "2565 Thorana F06.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 33, "2565 Thorana F05.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 34, "2565 Thorana F04.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 35, "2565 Thorana F03.png", 0.8)
frameset(FrameXS, FrameYS, FrameX, FrameY, 36, "2565 Thorana F02.png", 0.8)
frameset(FrameXS, FrameYS, FrameX, FrameY, 37, "2565 Thorana F00.png", 0.8)
frameset(FrameXS, FrameYS, FrameX, FrameY, 38, "2565 Thorana F01.png", 0.9)
frame_loop = 39
for i in range(int(6)):
frameset(FrameXS, FrameYS, FrameX, FrameY, frame_loop, "2565 Thorana F00.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, frame_loop + 1, "2565 Thorana F01.png", 0.7)
frame_loop += 2
frameset(FrameXS, FrameYS, FrameX, FrameY, 51, "2565 Thorana F00.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 52, "2565 Thorana F01.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 53, "2565 Thorana F00.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 54, "2565 Thorana F01.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 55, "2565 Thorana F00.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 56, "2565 Thorana F01.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 57, "2565 Thorana F00.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 58, "2565 Thorana F01.png", 0.7)
frameset(FrameXS, FrameYS, FrameX, FrameY, 59, "2565 Thorana F00.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 60, "2565 Thorana F01.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 61, "2565 Thorana F04.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 62, "2565 Thorana F05.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 63, "2565 Thorana F06.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 64, "2565 Thorana F07.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 65, "2565 Thorana F08.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 66, "2565 Thorana F09.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 67, "2565 Thorana F10.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 68, "2565 Thorana F11.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 69, "2565 Thorana F11.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 70, "2565 Thorana F10.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 71, "2565 Thorana F09.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 72, "2565 Thorana F08.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 73, "2565 Thorana F07.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 74, "2565 Thorana F06.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 75, "2565 Thorana F05.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 76, "2565 Thorana F04.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 77, "2565 Thorana F00.png", 0.9)
frameset(FrameXS, FrameYS, FrameX, FrameY, 89, "2565 Thorana F01.png", 0.9)
if ec == 1:
orgp = Part-1
我希望问题很清楚
非常感谢你的回答
*请注意,我上个月才开始使用python,昨天就创建了堆栈溢出帐户,所以我的代码不是最好的(在撰写本文时)
目前没有回答
相关问题 更多 >
编程相关推荐