当我在 M1 MacBook 上使用 PyCharm 运行一个简单的 pygame 程序时,我注意到我的笔记本电脑在运行该程序 5-10 分钟后变得有点热。这是正常现象吗?还是 while 循环对计算机造成“负担”?谢谢。
代码如下:
import pygame
# INITIALIZE
pygame.init
#CREATE THE SCREEN
screen=pygame.display.set_mode((800,600))
#Title and Icon
pygame.display.set_caption("First Pygame")
#Player
playerImg = pygame.image.load("racing-car.png")
playerX= 400
playerY=300
playerX_Change=0
playerY_Change=0
def player(x,y):
screen.blit(playerImg, (playerX,playerY))
# Game Loop
running=True
while running:
screen.fill((128, 0, 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running=False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
playerX_Change = -5
if event.key == pygame.K_RIGHT:
playerX_Change = 5
if event.key == pygame.K_DOWN:
playerY_Change = 5
if event.key == pygame.K_UP:
playerY_Change = -5
if event.type == pygame.KEYUP:
playerX_Change=0
playerY_Change=0
playerY=playerY+playerY_Change
playerX=playerX+playerX_Change
player(playerX, playerY)
pygame.display.update()
Run Code Online (Sandbox Code Playgroud)
通过对象的pygame.time.Clock.tick方法限制每秒帧数来限制 CPU 使用率,以这种方式延迟游戏,即循环的每次迭代都会消耗相同的时间。看:tick()pygame.time.Clockpygame.time.Clock.tick()
该方法应该每帧调用一次。
这意味着下面的循环每秒仅运行 60 次。
clock = pygame.time.Clock()
run = True
while run:
clock.tick(60)
# [...]
Run Code Online (Sandbox Code Playgroud)