Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
功能还是bug?Flash Player 10中的3D透视图随着对象添加到舞台而改变_Flash_Actionscript 3_3d - Fatal编程技术网

功能还是bug?Flash Player 10中的3D透视图随着对象添加到舞台而改变

功能还是bug?Flash Player 10中的3D透视图随着对象添加到舞台而改变,flash,actionscript-3,3d,Flash,Actionscript 3,3d,在我的AS3/Flash Player 10应用程序中,我在舞台上有一个movieclip,它有自己的变换;特别是,我显式地设置了它的projectionCenter,以便它有自己的消失点(有关详细信息,请参阅)。我正在向我的应用程序添加功能,这样,如果用户单击转换后的movieclip周围的一个按钮,3D转换后的movieclip上将出现一个lightbox样式的层 我遇到的问题是,当lightbox层出现时,转换后的movieclip的位置/转换会发生明显的变化,当lightbox层被移除时

在我的AS3/Flash Player 10应用程序中,我在舞台上有一个movieclip,它有自己的
变换;特别是,我显式地设置了它的
projectionCenter
,以便它有自己的消失点(有关详细信息,请参阅)。我正在向我的应用程序添加功能,这样,如果用户单击转换后的movieclip周围的一个按钮,3D转换后的movieclip上将出现一个lightbox样式的层

我遇到的问题是,当lightbox层出现时,转换后的movieclip的位置/转换会发生明显的变化,当lightbox层被移除时,转换后的movieclip会返回到其原始位置。更奇怪的是,这种效应只发生了大约一半的时间;通常,前几次lightbox调用没有效果,但第三次或第四次调用会导致3D movieclip四处跳跃


lighbox中没有3D元素(也就是说,没有明确设置z索引),我在其他地方也找不到这种现象的文档。这是FP 10中的错误吗?如果是的话,我能想到的唯一解决办法就是将3D转换后的movieclip拍摄成
bitmapData
的快照,并在lightbox出现时显示该快照以代替3D mc,但这似乎是低效和野蛮的。有什么想法吗?

这里有一个猜测-添加的内容是否可以位于显示层次结构中,以便它们与3D内容位于同一位图缓存中?您可能知道,Flash通过在内部将对象绘制成位图,然后对位图进行过滤来实现所有位图效果,这包括3D透视失真。我的猜测是,当您将内容添加到显示对象中时,被光栅化区域的边界会发生变化,这会导致3D对象的像素化方式发生变化。同样,这是一个猜测,但你可以玩一下,看看这是否是罪魁祸首。

现场!我从来没有想到会发生这样的事情,但由于掩蔽的原因,我一直将应用程序的大部分缓存为位图。当不再需要缓存时,我立即关闭了缓存,奇怪的行为消失了。非常感谢!