gpt4 book ai didi

python - 将 pygame.Surface() 传输到 pygame.OPENGL 显示上

转载 作者:太空宇宙 更新时间:2023-11-03 16:02:30 25 4
gpt4 key购买 nike

如何将 pygame.Surface() 对象 blit 到 pygame.OPENGL 显示并翻转显示?

import pygame

pygame.init()

RES = (640, 480)
display = pygame.display.set_mode(RES, pygame.FULLSCREEN | pygame.OPENGL)

bg_img = pygame.Surface(RES)
bg_img.fill((255, 255, 255))

display.blit(bg_img, (0, 0))
pygame.quit()
sys.exit()

给我

Traceback (most recent call last):
File "C:/Game Dev/TESTS/Clock Comparison/opengl_test.py", line 12, in <module>
display.blit(bg_img, (0, 0))
error: Cannot blit to OPENGL Surfaces (OPENGLBLIT is ok)

最佳答案

你不能。为了避免错误,显示表面需要使用 pygame.OPENGLBLIT 标志而不是 pygame.OPENGL 标志,但是在运行如下代码后这个:

import pygame
import sys

pygame.init()

RES = (640, 480)
display = pygame.display.set_mode(RES, pygame.OPENGLBLIT)

bg_img = pygame.Surface(RES).
bg_img.fill((255, 255, 255))

display.blit(bg_img, (0, 0))
pygame.display.flip()
input()
pygame.quit()
sys.exit()

显示窗口保持空白

pygame 文档将此标志列出为:

create an OpenGL rendering context / and use it for blitting. Obsolete.

您需要找到一种方法来完成您在 pyOpenGL 本身中尝试的任何操作。

关于python - 将 pygame.Surface() 传输到 pygame.OPENGL 显示上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40207529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com