0

I have put time.sleep(int(any number here)) functions in the main game loop for my animation, this has cause the loops to repeat slower. Becasue of this the sound I have played using pygame mixer, break and lag. It basically plays a part of the sound for a bit then goes through the rest of the code silently and then restarts. Is there a way for me to work around the breaking sound effect? Could I use a different sound module?

heres my code;

    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
                        

I hope the question is clear,

Thank you very much, for you answers,

*Note that I basically just started python last month and made my stack overflow account yesterday, so my code is not the best (at the time of writing).

  • 1
    Why so you call `time.sleep()` in the game loop? Do not do that. – Rabbid76 May 23 '21 at 15:18
  • I called, time.sleep(int(number)) because I was creating an animation and needed to delay each frame by a specific amount. I could remove it but then the animation would not work smoothly, all the frames would change too fast. – Ravindu Peiris May 25 '21 at 02:34

0 Answers0