#include
void display()
{
float i=0.0,x=-1.0,y;
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity ();
for(i=0;i<10;i++)
{
x=x+0.1;y=0;
glTranslatef(x,y,0);
glBegin(GL_POLYGON);
glVertex2f(-0.2,-0.2);
glVertex2f(-0.2,0.2);
glVertex2f(0.2,0.2);
glVertex2f(0.2,-0.2);
glEnd();
glFlush();
Sleep(1000);
}
}
应该是你translate使用错误,translate使用时应该在绘制矩形之前。
实现物体曲线移动:做一个随时间刷新的命令响应,隔一个刷新时间更新一下物体的坐标。例如做正弦函数移动:
OnTimer
{
xpos=sin(t);
ypos=cos(t);
zpos=tan(t);
t++
gltranslatef(xpos,ypos,zpos);
gldraw*******();//你要绘制的物体