Pygame使用测试(三)

使用帧数

计算机的速度非常快,可以在一秒钟内完成数百万个循环周期。现在显然,这对我们人类来说有点快。作为参考,电影以每秒 24 帧的速度运行。任何小于这个值的东西都会有明显的卡顿,超过 100 的值可能会导致事情移动得太快而我们看不到。

默认情况下,如果我们不创建限制,计算机将在一秒钟内尽可能多地执行游戏循环。为了限制它,我们使用fps 是整数的方法。该方法属于该类,并且必须与该类的对象一起使用。

tick(fps)

tick()

pygame.time.Clock

这可能因游戏而异,具体取决于它的设计方式,但您的目标值应该在 30 到 60 之间。请记住,如果您创建一个相当复杂和繁重的游戏,计算机可能无法很好地运行它在更高的帧。

例如:

FPS = 30

FramePerSec = pygame.time.Clock()

while True:

pygame.display.update()

for event in pygame.event.get():

if event.type == QUIT:

pygame.quit()

sys.exit()

FramePerSec.tick(FPS)

完整代码如下:

import pygame, sys

from pygame.localsimport *

# 初始化

pygame.init()

# 设置帧数

FPS =30

FramePerSec = pygame.time.Clock()

# 设置颜色对象

RED = (255, 0, 0)

GREEN = (0, 255, 0)

LIGHTGREEN = (0, 125, 0)

BLUE = (0, 0, 255)

BLACK = (0, 0, 0)

WHITE = (255, 255, 255)

# 设置 300 X 300像素显示窗口和标题

Screen = pygame.display.set_mode((300, 300))

Screen.fill(WHITE)

pygame.display.set_caption(“PyGame Demo”)

# 创建图形

pygame.draw.line(Screen, BLUE, (150, 130), (130, 170))

pygame.draw.line(Screen, BLUE, (150, 130), (170, 170))

pygame.draw.line(Screen, GREEN, (130, 170), (170, 170))

pygame.draw.circle(Screen, BLACK, (100, 50), 30)

pygame.draw.circle(Screen, BLACK, (200, 50), 30)

pygame.draw.rect(Screen, RED, (100, 200, 100, 50), 2)

pygame.draw.rect(Screen, BLACK, (110, 260, 80, 5))

while True:

pygame.display.update()

for eventin pygame.event.get():

if event.type == QUIT:

pygame.quit()

sys.exit()

FramePerSec.tick(FPS)

效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flysh05

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值