AS3-"旋转"之间的区别是什么?和"轮换Z"?

时间:2015-06-07 14:02:02

标签: actionscript-3

他们两个都这样做。那么,它们是否完全相同或存在差异?

1 个答案:

答案 0 :(得分:2)

从概念上讲它们是相同的,但要注意一些差异。

显示对象可以是2d(transform.matrix)或3d(transform.matrix3D),但不能同时是两者。 rotation属性反映了matrixmatrix3D的轮播,而rotationZ明确表示围绕matrix3D属性的Z轴的旋转。这里的区别在于,如果您设置rotationZ它将像所有3d属性(zrotationX等)一样,将显示对象转换为3d(transform.matrix3D)甚至如果没有设置其他3d属性。例如:

var sprite:Sprite = new Sprite();

sprite.rotation = 50;
trace(sprite.transform.matrix); // [object Matrix]
trace(sprite.transform.matrix3D) // null

sprite.rotationZ = 50;
trace(sprite.transform.matrix); // null
trace(sprite.transform.matrix3D) // [object Matrix3D]

这是值得注意的,因为3d渲染(transform.matrix3D)确实引入了一些模糊,因为3d被投射到2d的方式,而2d渲染(transform.matrix)则没有。

因此,如果您不打算使用任何其他3D属性,请坚持rotation。如果您要使用其他3d属性,则使用rotationZ更有意义。

除此之外,它们是相同的。 ;)

希望有所帮助。