【问题标题】:why is my code really slow and how can i improve it? [duplicate]为什么我的代码真的很慢,我该如何改进它? [复制]
【发布时间】:2021-01-23 14:35:51
【问题描述】:

这是我的代码,为什么它运行这么慢 为什么我的代码运行这么慢请帮助我! 提前谢谢你

import pygame
from rgb import *
from pygame.constants import *
pygame.init()

height=700
width=1500
center=(780, 450)
ball_pos=[500,550]
sky_pos=[0,-1000]


screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
pygame.display.update()

running=True
while running:
    for event in pygame.event.get():
        keys = pygame.key.get_pressed()
        if keys[K_SPACE]:
            running=False
            pygame.display.update()
    sky=pygame.image.load("sky.jpg")



    if keys[K_RIGHT]:
        sky_pos[0]-=1
    screen.blit(sky, sky_pos)

    class Circle:
        pygame.draw.circle(screen, green, ball_pos, 50)
    pygame.display.update()
    screen.fill(black)

pygame.quit()

我尝试了一切,但没有任何效果 我希望天空平稳地向左移动,虽然我不知道怎么做!

【问题讨论】:

    标签: python performance pygame


    【解决方案1】:

    您的代码中存在一些问题,但最明显的是您正在将图像加载到应用程序循环中。 pygame.image.load 非常耗时,因为它必须从数据存储中读取图像。

    在应用程序循环之前加载一次图像,而不是在循环中连续

    sky=pygame.image.load("sky.jpg")      # <--- ADD
    
    running=True
    while running:
        # [...]
    
        # sky=pygame.image.load("sky.jpg")  <--- DELETE
    

    【讨论】:

    • 好的,谢谢它现在正在工作
    猜你喜欢
    • 2022-12-31
    • 2011-11-08
    • 2022-12-09
    • 1970-01-01
    • 2022-07-29
    • 1970-01-01
    • 2020-09-03
    • 2023-03-13
    • 1970-01-01
    相关资源
    最近更新 更多