【发布时间】:2013-03-20 19:21:46
【问题描述】:
我非常努力地完成本教程here,但没有使用 SDL。 IE。仅使用 OpenGL 绘制图形和普通 C++ 来检查碰撞。
以下是我的尝试,但仍然无法正常工作。我只是看不出我的逻辑与教程有什么不同?
帮助我了解哪里出了问题,或者帮助我将示例移植到 OpenGL/C++。
void move(){
sprite.x += x_Vel;
if(check_collision(sprite,platform1) || check_collision(sprite,platform2))
{
sprite.x -= x_Vel;
}
sprite.y += y_Vel;
if(check_collision(sprite,platform1) || check_collision(sprite,platform2))
{
sprite.y -= y_Vel;
}
}
void drawSprite (RECT rect) { ... }
void mySKeyboard(int key, int x, int y) { ... }
void main (int argc, char** argv){ ... }
【问题讨论】:
-
您能否更具体地说明问题,还是我们必须扫描整个代码?
-
我遇到的主要问题是小方块的移动并与矩形碰撞。我对速度和 x/y 位置感到困惑。如果发生碰撞,我不确定如何阻止精灵移动。
-
GLUT 不是 OpenGL。它是一个第三方库,可用于打开和管理 OpenGL 窗口。
-
确实如此。你是对的。我主要将 Glut 用于关键输入。