尝试用pygame OpenGL绘制平面三维网格不断出现错误1282“无效操作”

2024-04-19 09:56:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个地形,但我似乎只是不能得到这个网格工作?不断返回此错误:

OpenGL.error.GLError: GLError( err = 1282, description = b'invalid operation', baseOperation = glEnd, cArguments = ()

import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
import random

nptx=10
npty=10

def terrain2(): 
    glBegin(GL_QUADS)
    for ye in range(0,npty):
        for xe in range(0,nptx):
            glVertex3f(xe,ye+1,0)
            glVertex3f(xe+1,ye+1,0)
            glVertex3f(xe+1,ye,0)
            glVertex3f(xe,ye,0)
    glEnd()

def main():
    pygame.init()
    display=(800,600)
    pygame.display.set_mode(display, DOUBLEBUF|OPENGL)

    gluPerspective(45, (display[0]/display[1]),0.1,200)
    glTranslatef(0.0,0.0,-5)

    while True:
        for event in pygame.event.get():
            if pygame.event==pygame.quit():
                pygame.quit()
                quit()
        terrain2()
        pygame.display.flip()
main()

Tags: infromimporteventfordisplaypygamequit
1条回答
网友
1楼 · 发布于 2024-04-19 09:56:53

当计算下列表达式时

if pygame.event==pygame.quit():

然后执行操作^{},取消初始化所有pygame模块。你知道吗

把它改成

if event.type == pygame.QUIT:

它将event.type与枚举pygame.QUIT进行比较。你知道吗

相关问题 更多 >