我试图参照一个角色来移动我的世界。如果度数为零(玩家继续前进),它会起作用,但在其他任何地方都搞砸了。当它是 90 度时,玩家会向后而不是向前。我觉得我在正确的轨道上,我只是搞砸了一些小事。
这是我的 goForward() 函数方程
rad = angle * (pi/180)
world_loc = (world_loc[0] + speed * sin(rad), world_loc[1], world_loc[2] + speed* cos(rad))
然后这就是我展示我的世界的方式
glPushMatrix()
glRotate(angle, 0,1,0)
glTranslatef(world_loc[0],world_loc[1],world_loc[2])
for x in range(len(world)):
for y in range(len(world[0])):
for z in range(len(world[0][0])):
if(world[x][y][z] != None):
glPushMatrix()
glTranslatef(x*2,y*2,z*2)
glCallList(world[x][y][z])
glPopMatrix()
glPopMatrix()
关于它可能是什么的任何想法?