如图所示,我想要做一个动画,长方体从图中1所示逐渐延长到2点  然后从3点逐渐延长到4点 再从5点逐渐延长到6点  依此类推,想做这样一个长方体弓字形逐渐延长动画,请问应该怎样编程,需要怎么设置OnTimer()函数和OnDraw()函数 长方体长50mm 宽高都是10mm 

解决方案 »

  1.   

    计算好1到2的坐标,onTimer慢慢加长长方体,后面的也是这样
      

  2.   

    请问能写个代码给我看下吗?本人菜鸟 不是很懂,我做出来的效果总是只显示出一个长方体,我后来想在OnDraw()函数里用for循环画长方体,发现也只显示一个 不知道怎么回事,我的代码如下:
    void CTdView::OnDraw(CDC* pDC)
    {
    CDocument* pDoc = GetDocument();
              starty=(t+1)*5;
               for(t=0;t<10;t++)
       {   
                 glPushMatrix();
              glTranslatef(startx,0.0,0.0);
               glTranslatef(0.0,starty,0.0);
                  glMaterialfv(GL_FRONT,GL_SPECULAR,matSphere_specular);
              glMaterialfv(GL_FRONT,GL_SHININESS,matSphere_shininess);
                   glMaterialfv(GL_FRONT,GL_DIFFUSE,matSphere_diffuse);
             glMaterialfv(GL_FRONT,GL_AMBIENT,matSphere_diffuse);
                      auxWireBox(shiyanx,shiyany,shiyanz);
             glPopMatrix();
        }
    void CTdView::OnTimer(UINT nIDEvent) 
    {
         if(shiyanx<=50)
          {
            shiyanx+=1;
             startx+=0.5;
          }
      glTranslatef(startx,0.0,0.0);
    }