我正在用pyGame制作一个3D迷宫游戏,并在一个OBJ文件中制作环境,并使用OBJFileLoader在pyGame网站上找到它来加载到我的游戏中。但是当我实现运动控制时,相机会通过模型。我如何检测我的相机和模型之间的碰撞,以便我可以修复它?
我考虑过使用矩形碰撞检测,但我能找到的所有实现都是2D的,很难在3D中实现,而且使用obj文件也没有让它变得更容易。我还读到了一些地方,我可以使用光线跟踪,但我找不到任何有关使用光线投射在pyGame。
下面是我在主循环中用于控制游戏中运动的代码。
while 1:
for event in pygame.event.get():
我正在使用游戏与opengl,但我遇到了问题,设置许多opengl屏幕(或“相机”)在同一个游戏窗口。我的代码就像
{initialize the screen using pygame.display.set_mode, glViewport, gluPersepctive etc}
while 1:
{obtain pressed keys from the keyboard and do stuff}
{draw opengl objects}
pygame.display.flip()
现在,我要做的是做所有这些,说四次,并画在四个不同的地方在同一个游戏窗
如果我将pygame窗口设置为可调整大小,然后在窗口的边框上单击并拖动,窗口将变大,但表面上的任何blit都不会变大。(这是可以理解的)当我调整窗口大小时,如何让所有的blit对象都随之调整大小并正确填充窗口?
例如:假设我有一个200 x 200的窗口,我在window_width/2和window_height/2处blit了一个按钮,该按钮将在100 x 100的窗口中心。现在,如果我将窗口大小调整为300x300,按钮将停留在100x100而不是150x150。
我试着摆弄pygame.Surface.get_width等,但是没有成功。基本上,我试图调整一个程序的窗口大小,让所有的b
我正在尝试允许这个应用程序调整大小,我设置了可调整大小的标志,但当我尝试调整大小时,它搞砸了!试试我的代码。
这是一个网格程序,当窗口调整大小时,我希望网格也调整大小/收缩。
import pygame,math
from pygame.locals import *
# Define some colors
black = ( 0, 0, 0)
white = ( 255, 255, 255)
green = ( 0, 255, 0)
red = ( 255, 0, 0)
# This sets the width and heigh
这可能是一个愚蠢的问题,但我找不到医生是一个愚蠢的问题。
Pygame为我提供了display.set.mode()的这些标志:
pygame.FULLSCREEN create a fullscreen display
pygame.DOUBLEBUF recommended for HWSURFACE or OPENGL
pygame.HWSURFACE hardware accelerated, only in FULLSCREEN
pygame.OPENGL create an OpenGL renderable display
pygame.RES
我正试图用python、python和OpenGL来制作一个游戏,我想在屏幕的中央做一个十字线,这样当他们环顾四周时,就可以看到他们将要点击的东西了。我做了,所以它隐藏了他们的光标,并将其移动到窗口的中心,但我不知道如何在游戏中的opengl之上制作一个形状。我是游戏和opengl的初学者。这可能真的很容易,但我找不到答案。
请提前帮忙,谢谢。
这是我的代码,如果您想确保您所做的在我的情况下工作。
import pygame
import time
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU impor
我试图从OpenGL开始,使用Python和PyGame。
我将使用PyGame代替GLUT来完成所有初始化、打开窗口、输入处理等工作。
但是,我的着色器无法编译,除非我精确地指定了OpenGL和配置文件的版本。
它们确实是用书中的过剩初始化进行编译的:
glutInit()
glutInitDisplayMode(GLUT_RGBA)
glutInitWindowSize(400, 400)
# this is what I need
glutInitContextVersion(3, 3)
glutInitContextProfile(GLUT_CORE_PROFILE)
glutCr
我试图从OpenGL开始,使用Python和PyGame。
我将使用PyGame代替GLUT来完成所有初始化、打开窗口、输入处理等工作。
但是,我的着色器无法编译,除非我精确地指定了OpenGL和配置文件的版本。
它们确实是用书中的过剩初始化进行编译的:
glutInit()
glutInitDisplayMode(GLUT_RGBA)
glutInitWindowSize(400, 400)
# this is what I need
glutInitContextVersion(3, 3)
glutInitContextProfile(GLUT_CORE_PROFILE)
glutCr
我得到这段代码是为了用python在吡咯窗口中绘制一个OpenGL立方体,但是每次我试图编译它时,都会说这个line 34, in Cube glVertex3f(vertices[vertex]) TypeError: tuple indices must be integers or slices, not tuple,任何知道如何纠正代码的人都知道,这样我就可以使程序实现其预期的功能。
import pygame
from pygame.locals import *
from OpenGL.GL import *
from OpenGL.GLU import *
##Define th