代码之家  ›  专栏  ›  技术社区  ›  Reinaldo Pereira

尝试使用pygame OpenGL绘制平面3D网格,不断获取错误1282“无效操作”

  •  1
  • Reinaldo Pereira  · 技术社区  · 6 年前

    我正在尝试创建一个地形,但是我似乎无法让这个网格工作?不断返回此错误:

    OpenGL。错误GLError:GLError(err=1282,description=b'无效 操作',基本操作=格伦德,成本=()

    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()
    
    1 回复  |  直到 6 年前
        1
  •  3
  •   Rabbid76    6 年前

    计算以下表达式时

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

    然后是操作 pygame.quit() 已执行且所有 pygame 模块未初始化。

    将其更改为

    if event.type == pygame.QUIT:
    

    相比之下 event.type 到枚举 pygame.QUIT