Как перетянуть изображение в pygame при использовании opengl? - PullRequest
1 голос
/ 27 апреля 2020

Я пытаюсь закрыть изображение моего персонажа с помощью pygame, оно работает, когда opengl не вызывается

pygame.init()
display = pygame.display.set_mode((800, 600))

    def draw(self,display):
        if self.walkCount + 1 >= 30:
            self.walkCount = 0
        if self.left:
            display.blit(walkLeft[self.walkCount // 6], (int(self.x), int(self.y)))
            self.walkCount += 1
        elif self.right:
            display.blit(walkRight[self.walkCount // 6], (int(self.x), int(self.y)))
            self.walkCount += 1
        else:
            display.blit(standing, (int(self.x), int(self.y)))
        pygame.display.flip()
def redraw():
    global WalkCount
    display.fill((0, 0, 0))
    Player1.draw(display)
while True:
    redraw()
pygame.quit()

Когда вызывается opengl,

display = pygame.display.set_mode((800, 600), pygame.DOUBLEBUF | pygame.OPENGLBLIT)
...
def redraw():
    global WalkCount
    Player1.draw(display)
while True:
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
    redraw()
pygame.quit()

не отображается мой образ персонажа больше, как мне это исправить? Я что-то упустил?

1 Ответ

1 голос
/ 27 апреля 2020

Я что-то упустил?

Да. pygame.OPENGLBLIT устарел и просто не работает (не уверен, работал ли он когда-либо; думаю, нет).

Так что используйте либо «обычную» поверхность дисплея, либо используйте только OpenGL.

...