功能还是错误? Flash Player 10 中的 3D 透视随着对象添加到舞台而发生变化
Posted
技术标签:
【中文标题】功能还是错误? Flash Player 10 中的 3D 透视随着对象添加到舞台而发生变化【英文标题】:Feature or bug? 3D perspective in Flash Player 10 changes as objects are added to the stage 【发布时间】:2011-01-09 23:15:34 【问题描述】:在我的 AS3/Flash Player 10 应用程序中,我在舞台上有一个动画剪辑,并配置了自己的 transform.perspectiveProjection
属性;特别是,我明确设置了它的projectionCenter
,以便它有自己的消失点(有关详细信息,请参阅this question)。我正在向我的应用程序添加功能,这样如果用户单击转换后的影片剪辑周围的按钮之一,就会在 3D 转换的影片剪辑上出现一个灯箱样式的图层。
我遇到的问题是,当灯箱层出现时,变换后的动画剪辑的位置/变换发生了明显的变化,当灯箱层被移除时,变换后的动画剪辑返回到其原始位置。更奇怪的是,这种效果只发生了大约一半的时间。通常,前几个灯箱调用没有效果,但第三个或第四个会导致 3D 影片剪辑四处跳动。
灯箱中没有 3D 元素(即没有明确设置 z 索引),我在其他任何地方都找不到这种现象的文档。这是 FP 10 中的错误吗?如果是这样,我能想到的唯一解决方法是将 3D 转换的影片剪辑拍摄为 bitmapData
的快照,并在灯箱出现时显示它来代替 3D mc,但这似乎效率低下且残酷地骇人听闻。有什么想法吗?
【问题讨论】:
【参考方案1】:这是一个猜测 - 添加的内容是否可以位于显示层次结构中,以便它们与您的 3D 内容在同一个位图缓存中结束?您可能知道,Flash 通过在内部将对象绘制成位图,然后对位图进行过滤来实现所有位图效果,这包括 3D 透视失真。我的猜测是,当您将内容添加到显示对象中时,被光栅化的区域的边界会发生变化,这会导致 3D 对象的像素化方式发生变化。同样,这是一个猜测,但您可以尝试一下,看看这是否是罪魁祸首。
【讨论】:
准确!我永远不会猜到这是怎么回事,但碰巧的是,出于掩饰的原因,我一直将大部分应用程序缓存为位图。一旦不再需要缓存,我就关闭了缓存,奇怪的行为消失了。非常感谢!以上是关于功能还是错误? Flash Player 10 中的 3D 透视随着对象添加到舞台而发生变化的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu10.04 firefox 总卡死 换chromium好点,但只要开flash player还是会卡死,也不能用virtualbox了。
如何在Windows Server 2016中启用Adobe Flash Player
HTML5抢占Flash份额Adobe Flash Player 将无法在 Windows 10 系统中运行