今天我们要讲的是动画 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 求扩散~~