[英]Pygame blank white screen
我是 pygame 的新手,并试图从绘制顶点和线开始,为学校项目模拟乒乓球桌。 当我运行代码时,pycharm 只在 pygame 窗口中向我显示一个空白的白色屏幕,python 没有给我任何错误,不确定我做错了什么。 有什么建议吗?
import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
verts = (
(-1,-1,-1),
(-1,-1,1),
(-1,1,-1),
(-1,1,1),
(1,-1,-1),
(1,-1,1),
(1,1,-1),
(1,1,1)
)
edges = (
(0,1),
(0,2),
(0,3),
(0,4),
(2,1),
(2,3),
(2,7),
(6,3),
(6,4),
(6,7),
(5,1),
(5,4),
(5,7)
)
areas = (
(0,1,2,3),
(3,2,7,6),
(4,5,1,0),
(1,5,7,2),
(4,0,3,6)
)
def table():
glBegin(GL_QUADS)
for surf in areas:
glColor3fv((0,0,255))
for vert in surf:
glVertex3fv(verts[vert])
glEnd()
def main():
pygame.init()
display = (1000,800)
screen = pygame.display.set_mode(display,DOUBLEBUF|OPENGL)
gluPerspective(45,(display[0]/display[1]), 0.1,50.0)
glTranslatef(-20,-10,-50)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
glRotatef(0,0,0,0)
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
table()
pygame.display.flip()
pygame.time.wait(60)
red = [255,0,0]
screen.fill(red)
display.fill[red]
main()
你的代码缩进看起来很糟糕。 Python 缩进是运行代码的基础。
在您的代码中,一些函数名称和函数看起来也很奇怪。 就像 call Table() for call table() (python 区分大小写)例如。
将def main():
的最后三行更改为:
red = [255,0,0]
screen.fill(red)
display.fill[red]
到两行:
glClearColor(0.7, 0, 0, 1)
glClear(GL_COLOR_BUFFER_BIT)
我不知道你面对的是什么,但我已经运行了很多游戏并且 pygame 运行得很好。
最近我的 Mac 做了一个更新并搞砸了 python。 我再次 pip 安装了 pygame,并尝试运行我之前创建的运行良好的游戏。 屏幕全白了。 音乐运行良好,游戏实际上运行良好,因为我可以听到我附加到按钮按下的声音。
终端中没有显示日志错误来解释这一点。 你会认为游戏运行良好。
如果您的问题和我的一样,那么可能是有人搞砸了发布。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.