cocos2d-x 渲染机制深入解析(三)

来源:互联网 发布:淘宝中差评外包 编辑:程序博客网 时间:2024/04/28 20:35

今天我们要讲的是动画 cocos2d-x的动画是如何渲染出来 说到动画当然要讲矩阵了

今天我就说最简单的开始 就讲精灵从0,0点移动到1,1 的动画


1  先说平移矩阵  

kmMat4* const kmMat4Translation(kmMat4* pOut,constkmScalar x,

                          const kmScalar y, const kmScalar z)

{

    //FIXME: Write a test for this

    memset(pOut->mat,0,sizeof(float) *16);


    pOut->mat[0] = 1.0f;

    pOut->mat[5] = 1.0f;

    pOut->mat[10] =1.0f;


    pOut->mat[12] = x;

    pOut->mat[13] = y;

    pOut->mat[14] = z;

    pOut->mat[15] =1.0f;


    return pOut;

}

先看这个 这个就是平移矩阵       具体怎么用我不想多说了 第一个参数肯定传入的是结构地址 kmMat4 juzhen; &juzhen就这个  另外3个 就是要移动到哪里的坐标 函数实现 学过下面跟踪到这个函数

void kmGLTranslatef(float x,float y,float z)

{

    kmMat4 translation;


    //Create a rotation matrix using the axis and the angle

    kmMat4Translation(&translation,x,y,z);


    //Multiply the rotation matrix by the current matrix

    kmMat4Multiply(current_stack->top,current_stack->top, &translation);

}


这个函数是动画的关键 前面第一个函数仅仅是设置了位置 并没有动画

我们再往下看

为了让更多的cocos2d-x程序员快速成长 我专门做了个论坛 www.cocos2dxx.com  

不管你是来个问问题的还是来打酱油的 都来捧捧场吧 


另外本人现在急需在杭州找份工作 试用期内 4K+5险     有意向的公司加我QQ 963529987   求扩散~~

原创粉丝点击