我很难理解如何控制 3D 空间中显示对象的 z 属性。我知道深度是如何工作的,但我不明白如何获得最大深度,或者显示对象刚刚消失在背景中的数字。
我假设深度基于舞台的宽度和高度,这就是为什么分配相同显示对象的相同深度与不同的舞台尺寸不匹配的原因。
那么我怎样才能适当地测量深度呢?
我很难理解如何控制 3D 空间中显示对象的 z 属性。我知道深度是如何工作的,但我不明白如何获得最大深度,或者显示对象刚刚消失在背景中的数字。
我假设深度基于舞台的宽度和高度,这就是为什么分配相同显示对象的相同深度与不同的舞台尺寸不匹配的原因。
那么我怎样才能适当地测量深度呢?
它在这里解释:Flash中的透视图
您需要考虑 childIndex 属性。actionscript 中没有 Z-index。
要获得您可以使用的深度:
// returns the number of direct display children in stage
stage.numChildren;
// returns the number of direct display children in you object
myObj.numChildren;
设置子 Z-index 使用
//sets the newIndex of child in stage
stage.setChildIndex(child:DisplayObject, newIndex:int):void;
如果 newIndex 为 0,则 child 是顶部可见元素。
newIndex 必须在 [0, numChildren-1] 否则 flash 会抛出错误
小心。
从 Flash 10 开始,有一个“z”属性。
查看此链接以获取教程: http ://www.kirupa.com/developer/as3/intro_3d_as3_pg1.htm