我有一个包含16个浮点数的数组,我想用这个数组来初始化CATransform3D的值,即m11,m12,......,有什么方法可以初始化吗?
问问题
303 次
2 回答
0
CATransform3D
定义为:
struct CATransform3D
{
CGFloat m11, m12, m13, m14;
CGFloat m21, m22, m23, m24;
CGFloat m31, m32, m33, m34;
CGFloat m41, m42, m43, m44;
};
像下面这样的东西应该可以工作:
CATransform3D myTransform;
myTransform.m11 = array[0];
myTransform.m12 = array[1];
myTransform.m13 = array[2];
myTransform.m14 = array[3];
myTransform.m21 = array[4];
myTransform.m22 = array[5];
myTransform.m23 = array[6];
myTransform.m24 = array[7];
...
myTransform.m44 = array[15];
于 2013-03-06T09:32:14.763 回答
0
它有点脏,但你可以这样做:
CGFloat array[16];
...
CATransform3D myTransform;
memcpy(&myTransform, &array, sizeof(CATransform3D));
于 2013-03-06T09:49:11.500 回答