Chrome Flash player在Flash窗口中创建透明矩形
我在Flash视频播放器中遇到了一个奇怪的、很难重现的图形故障!,到目前为止,只有铬合金 “enterthebuilding”下面的灰色矩形显示了flash播放器所在的html div的背景色。在“我们在哪里”链接下有一个较小的。这些是具有脚本悬停动画的精灵(包含多个其他精灵和显示对象)(它们缓慢地向其原点特定范围内的随机点移动)。故障会随着它们一起调整大小,有时会消失 最奇怪的是,它让整个flash组件都能看穿。我有这个密码 创建视频播放器时运行:Chrome Flash player在Flash窗口中创建透明矩形,flash,google-chrome,visual-glitch,Flash,Google Chrome,Visual Glitch,我在Flash视频播放器中遇到了一个奇怪的、很难重现的图形故障!,到目前为止,只有铬合金 “enterthebuilding”下面的灰色矩形显示了flash播放器所在的html div的背景色。在“我们在哪里”链接下有一个较小的。这些是具有脚本悬停动画的精灵(包含多个其他精灵和显示对象)(它们缓慢地向其原点特定范围内的随机点移动)。故障会随着它们一起调整大小,有时会消失 最奇怪的是,它让整个flash组件都能看穿。我有这个密码 创建视频播放器时运行: graphics.clea
graphics.clear();
graphics.beginFill(0xff00ff, 1);
graphics.drawRect(0, 0, _stage.stageWidth, _stage.stageHeight);
graphics.endFill();
因此,视频播放器的背面应该有一个明亮的颜色,我已经确认,如果我不加载视频播放器,它就在那里。但是,不会显示这种明亮的颜色,而是显示包含播放器的背景div
这对我来说毫无意义…我也不知道如何调试它。我所知道的是,故障的出现取决于文本链接在屏幕上的悬停位置
闪存加载在WMODE transparent中,我们需要它,因为它的侧面有一个半透明的可扩展“翼”
编辑:
它在www.48hourgames.com上直播。创建帐户后,您将看到以上面截图结尾的视频播放器。这是Pepper Flash播放器的问题。Adobe和Google在这方面已经做了一段时间了,这就是他们打算让Flash保持活力并在Linux平台上工作的方式 不幸的是,胡椒粉是非常多的。今年夏天的某个时候,Pepper Flash成为Chrome中所有操作系统的默认Flash插件。它有许多问题没有真正的解决方案,除了禁用它(希望Adobe/Google能够解决这些问题) 要禁用Pepper Flash,请执行以下操作:
- 转到:chrome://plugins
- 单击右上角的详细信息图标
- 找到Flash Player插件部分,您可能会在此处安装多个版本的Flash。我刚刚安装了Chrome来验证这是个问题,并且有了Pepper Flash和2个“普通”版本的Flash
- 禁用路径中有“PepperFlash”的Flash插件
- 听起来,
可能会反复出现问题。也许你可以让Flash元素有100%的宽度,在左/右边缘做一个不可见的背景。在Flash中,您可以通过wmode transparent
stage.scaleMode=StageScaleMode.NO_SCALE代码>。如果闪光灯一直闪烁,您可以去掉
,这可能是个不错的选择wmode transparent
- 您是否已尝试将覆盖电影的两个按钮的
设置为cacheAsBitmap
true
- 因为这些伪影只会在电影结束时出现,当它是一个静止帧时,可能在电影达到这个最终状态时将
设置为cacheAsBitmap
会起作用吗true
- 当电影达到最终状态时,可能会用一个看起来相同的PNG图像替换掉它
- 如果这两个按钮还不是PNG图像,可以用PNG图像替换掉它们
- 可能会将侧菜单(扩展Flash元素)从SWF中剥离到它自己的SWF中,并放在电影SWF的顶部。这样,电影SWF可能会丢失
,并且可能不会在侧菜单上出现故障李>wmode transparent
- 侧菜单可以是HTML。
- 滚动状态可以是HTML元素
- 或者,侧菜单可以调用Flash元素来切换滚动文本。对Flash的调用必须通过
类()注册ExternalInterface
我将从
cacheAsBitmap
相关概念开始。然后转到PNG想法(按钮,最后一帧)。从这里开始,尝试Flash元素的全宽版本。如果这些方法不起作用,你可能需要考虑一种新的设计。如果这不是一个选项,我将继续拆分侧菜单,并进行如上所述的更改。我今天在最新的Flash Player 11.6+Chrome 27版本中遇到了这个问题。在某些计算机上,它工作,在其他一些计算机上,它不工作,这使得追踪问题非常困难,因为它没有发生在我这边
我相信这是一个Flash的bug,而不是chrome,因为当我右键单击->放大,右键单击->缩小脏补丁时就会消失
所以我四处寻找一个肮脏的快速修复方法
尝试了cacheAsBitmap方法:无效(此修复程序适用于“黑色透明”问题,但不适用于此问题)
尝试了两帧图像的方法:两者都不起作用(不确定原因)
我终于找到了一种修复方法(经过多次测试):
由于脏白色补丁只有在动画结束时才会出现,我在舞台上放置了一个透明形状的tween剪辑,让它永远运行。它是有效的
p/s:事实上,我试图将此添加为评论而不是答案,但找不到方法,这很奇怪。我今天在玩拼图游戏时在我的Google Chrome 31.0.1650.63上遇到了这个问题。我通常不使用这个浏览器,因此flash在每个浏览器中的工作方式应该完全相同,所以当我听到游戏中覆盖着白色矩形时,我有点惊讶。将wmode设置为不透明而不是透明解决了此问题。在我的视频播放器中也是如此 只有铬胡椒粉闪光,
import flash.display.MovieClip;
import flash.events.Event;
var redrawAll = new MovieClip();
redrawAll.mouseEnabled = false;
redrawAll.graphics.beginFill(0x000000, 0);
redrawAll.graphics.moveTo(0,0);
redrawAll.graphics.lineTo(stage.stageWidth, 0);
redrawAll.graphics.lineTo(stage.stageWidth, stage.stageHeight);
redrawAll.graphics.lineTo(0, stage.stageHeight);
redrawAll.graphics.endFill();
addChild(redrawAll);
addEventListener(Event.ENTER_FRAME, function(e:Event){
redrawAll.alpha = (redrawAll.alpha == 0)? 1 : 0;
});