我试图在PyGame中制作一个“跑步者”风格的游戏(比如几何短跑),背景不断移动。到目前为止一切正常,但是背景图像的渲染限制了帧速率超过每秒35帧。在我添加无限/重复背景元素之前,它可以轻松地以60 fps的速度运行。这两行代码是负责的(当删除时,游戏可以以60 fps的速度运行):
screen.blit(bg,(bg_x,0))|screen.blit(bg,(bg_x2,0))
我能做些什么让游戏运行得更快吗?提前感谢!
简化源代码:
import pygame
pygame.init()
screen = pygame.display.set_mode((1000,650), 0, 32)
clock = pygame.time.Clock()
def text(text, x, y, color=(0,0,0), size=30, font='Calibri'): # blits text to the screen
text = str(text)
font = pygame.font.SysFont(font, size)
text = font.render(text, True, color)
screen.blit(text, (x, y))
def game():
bg = pygame.image.load('background.png')
bg_x = 0 # stored positions for the background images
bg_x2 = 1000
pygame.time.set_timer(pygame.USEREVENT, 1000)
frames = 0 # counts number of frames for every second
fps = 0
while True:
frames += 1
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.USEREVENT: # updates fps every second
fps = frames
frames = 0 # reset frame count
bg_x -= 10 # move the background images
bg_x2 -= 10
if bg_x == -1000: # if the images go off the screen, move them to the other end to be 'reused'
bg_x = 1000
elif bg_x2 == -1000:
bg_x2 = 1000
screen.fill((0,0,0))
screen.blit(bg, (bg_x, 0))
screen.blit(bg, (bg_x2, 0))
text(fps, 0, 0)
pygame.display.update()
#clock.tick(60)
game()
这是背景图片:
您是否尝试过使用convert()
?
bg = pygame.image.load('background.png').convert()
从文件中:
您通常会希望调用Surface。convert()不带参数,以创建一个可以更快地在屏幕上绘制的副本。
对于alpha透明度,像在. png图像中一样,在加载后使用convert_alpha()方法,以便图像具有每像素透明度。
问题内容: 我正在为我的第一个深度Pyglet项目开发2D Minecraft克隆,但遇到了一个问题。每当我在屏幕上有相当数量的块时,帧速率都会急剧下降。 这是我的渲染方法:我使用字典,键为元组(代表块的坐标),项为纹理。 我遍历整个字典并渲染每个块: PS sx和sy是屏幕滚动的坐标偏移 我想知道是否有一种方法可以更有效地渲染每个块。 问题答案: 我将尽力解释为什么以及如何在不真正了解代码外观的
我正在尝试根据设备宽度提供响应/自适应图像。 原始图像: 与Srcset: 我面临两个问题: 1)即使在较小的设备上(如iPhone 6s),也会加载宽度为2000px的图像(它应该加载800px图像)。 2)我已经把两个图像(有和没有srcset)放在一起。它们都加载了具有相同维度的图像。然而,与其他版本相比,带有srcset的版本显得较小。因为html/css中没有指定宽度,所以它应该以实际图
基本图像渲染 外部资源渲染 摄像机 材质系统 材质资源 Effect 渲染组件参考 Sprite 组件参考 Label 组件参考 LabelOutline 组件参考 LabelShadow 组件参考 Mask 组件参考 MotionStreak 组件参考 ParticleSystem 组件参考 TiledMap 组件参考 TiledTile 组件参考 Spine 组件参考 DragonBones
我想在PDF上渲染图像,这将由FOP生成。为了渲染图像,我使用了标签< code > 我还尝试将完整的URL设置为: 在控制器中,我有一个请求映射,该映射从中获取图像名称 但是当我生成PDF时,我发现日志文件中的错误为: 但是,如果我复制这个URL并粘贴到URL中,那么图像会显示在浏览器中,我还发现,当我生成PDF时,应该调用图像解密的请求映射没有被调用。 更新 另外一个奇怪的想法是,我发现如果w
渲染和导出静止图像序列 您可以将渲染的影片作为静止图像序列导出,在这种情况下,影片的每个帧将分别作为单独的静止图像文件输出。在使用网络上的多个计算机渲染一个影片时,该影片始终作为一个静止图像序列输出。许多 3D 动画程序都接受静止图像序列。PNG 文件序列通常是将视觉元素从 After Effects 传输到 Flash Professional 的理想选择。 如果正在创建要转换为电影的影片,您需
问题内容: 有没有一种方法可以将html渲染为PNG图片?我知道画布是可能的,但我想呈现例如div之类的标准html元素。 问题答案: 我知道这是一个很老的问题,已经有了很多答案,但是我仍然花了几个小时来尝试做自己想做的事情: 给定一个html文件,从命令行生成具有 透明 背景的(png)图像 使用无头的Chrome(此响应的版本为74.0.3729.157),实际上很容易: 命令说明: 您可以从