我发现通过榜样我学得最好。是否有一个好的网站或代码库可以展示事件处理、碰撞检测、建模和基本 3D 绘图的工作原理?
我尝试开始的游戏是一个简单的赛车游戏,用户控制一艘小型 spaceship 并穿过 channel 、小行星带、太空殖民地和各种其他障碍(我知道,真正的原创)。运动是三维的。游戏应该知道航天飞机何时撞到障碍物。与大多数赛车游戏中一样,有定义的赛道(赛道和线性路径)。
按箭头键应该会导致方向矢量适当旋转。此外,例如,当用户按下空格键时,飞船应该使用加力燃烧室之类的东西。上下移动也是一种选择。
最佳答案
如果你想学习OpenGL,我建议从“OpenGL Red Book”开始,然后看NeHe's samples 。红皮书至少在线 HTML 格式是免费的,还有可下载的 PDF。
不过,红皮书和NeHe主要教你如何使用OpenGL;编写游戏是一门艺术,有太多的东西需要解释、太多的东西需要学习、太多的东西需要阅读。这只是一个提示。
这是大多数游戏的基本结构。希望它对基础知识有所帮助。当然,这不是一个完整的游戏,不会运行,并且很大程度上取决于你如何做事,但它应该给你一个基本的想法。
void update(float k)
{
// k == time in seconds since last update; e.g. 0.02
ship.y += ship.speed_y*k;
}
int main()
{
while(1)
{
if(hasEvents())
{
event_t evt;
getEvent(&evt);
if (evt.type == keypress && evt.key==down)
{
ship.speed_y=1;
}
}
paint();
new_ticks = get_ticks();
update((new_ticks - old_ticks)/1000.);
old_ticks = new_ticks;
}
}
关于opengl - 我想使用 openGL 制作一个简单的 3D 游戏,我应该从哪里开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1486097/