我正在开发一款Flash游戏,根据HTML参数,某些内容可能因网页而异。不幸的是,当我尝试在Google Chrome中加载图片并将位图本身发送到舞台时,没有任何显示。我已经能够确定这不受欢迎是由于Chrome附带的Pepper Flash插件,因为它与手动安装的Flash插件一起使用。
用户下载一个他们认为已经拥有的插件只是为了使用我的游戏,这将是一件痛苦的事。我的游戏必须自己访问位图,因为它们会改变颜色。如何解决Chrome的Pepper Flash插件中的不良行为?
以下是我正在做的事情的样本。
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
//could be any image, as long as image1.jpg is in the images directory relative to the HTML page
//eventually will be taken from a parameter.
var url:String = "images/image1.jpg";
var request:URLRequest = new URLRequest(url);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
loader.load(request);
}
private function loaded(e:Event):void
{
image = Bitmap(loader.content);
image.bitmapData.colorTransform(new Rectangle(0, 0, image.bitmapData.width, image.bitmapData.height), new ColorTransform(2, 1, 0.5, 0.25, 10, 10, -10, -10));
graphics.beginBitmapFill(image.bitmapData);
graphics.drawCircle(stage.stageWidth/2, stage.stageHeight/2, (image.width + image.height) / 4);
graphics.endFill();
}
除了此示例之外,还会有转换,但除非有解决此故障/不受欢迎的功能/错误的方法,否则在没有为用户工作的情况下,游戏无法在普通的Google Chrome浏览器上正常播放。
答案 0 :(得分:1)
将其推送到服务器上。当你从localhost运行时,chrome有一些额外的安全性。