flash - 功能还是错误? Flash Player 10 中的 3D 视角随着对象添加到舞台而变化

标签 flash actionscript-3 3d

在我的 AS3/Flash Player 10 应用程序中,我在舞台上有一个影片剪辑,并配置了自己的 transform.perspectiveProjection 属性;特别是,我明确设置了它的 projectionCenter,以便它有自己的消失点(有关详细信息,请参阅 this question)。我正在向我的应用程序添加功能,以便如果用户单击转换后的影片剪辑周围的按钮之一,灯箱样式的图层就会出现在 3D 转换的影片剪辑上。

我遇到的问题是,当灯箱图层出现时,变换后的影片剪辑的位置/变换会发生明显的变化,而当灯箱图层被删除时,变换后的影片剪辑将返回到其原始位置。更奇怪的是,这种效应只发生了大约一半的情况;通常,前几个灯箱调用没有效果,但第三个或第四个调用会导致 3D 影片剪辑跳转。

没有 3D 元素是 lightbox 的一部分(即没有明确设置 z 索引),而且我在其他地方找不到这种现象的文档。这是 FP 10 中的错误吗?如果是这样,我能想到的唯一解决方法是将 3D 转换的影片剪辑的快照作为 bitmapData 并在灯箱出现时显示它来代替 3D mc,但这似乎效率低下且残酷黑客式的。有什么想法吗?

最佳答案

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

关于flash - 功能还是错误? Flash Player 10 中的 3D 视角随着对象添加到舞台而变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2147162/

相关文章:

actionscript-3 - AS3 对象与字典

java - 乘以投影矩阵后如何渲染三角形

css - 如何使用样式表在 spark numericstepper 上应用图像

c - 如何在 GTK 应用程序中嵌入 Flash 播放器?

flash - 有没有类似于 FlashDevelop for Ubuntu 的工具?

css - 如何将 StyleSheet 应用于纯文本的 TextField

actionscript-3 - 更改影片剪辑 Actionscript 3 的填充颜色

actionscript-3 - 如何按对象中的数据排序? (as3)

c++ - 我如何创建 3d 边界框? (直接 3d 11,HLSL)

c++ - 在 C++ 中使用 opengl 旋转魔方面的问题