【发布时间】:2015-06-12 06:12:15
【问题描述】:
我有一个用于调整图像大小的小应用程序“敏捷上传器”。在我将 Flash 播放器升级到 17 之前它运行良好。现在这部分代码不起作用。
var button:Sprite = new Sprite();
button.graphics.beginFill(0xFFCC00);
button.graphics.drawRect(0, 0, 200, 200);
button.graphics.endFill();
button.useHandCursor = true;
button.buttonMode = true;
button.mouseChildren = false;
button.name = "browse";
button.addEventListener(MouseEvent.CLICK, _handleMouseEvent);
addChild(button);
private function _handleMouseEvent(evt:MouseEvent):void {
if (ExternalInterface.available)ExternalInterface.call("alert", 2);
switch ( String ( evt.target.name ))
{
case "browse" :
if(this.file_limit == 0) {
_fileRef = new FileReference();
_fileRef.browse([this._fileFilter]);
_fileRef.addEventListener(Event.SELECT, _onImageSelect);
} else {
_multiFileRef = new FileReferenceList();
_multiFileRef.browse([this._fileFilter]);
_multiFileRef.addEventListener(Event.SELECT, _onMultiImageSelect);
}
break;
}
}
我知道这部分代码没有错误,但它仍然无法在 Flash Player 17 中运行。
我在 Flash 开发中编译应用程序。 flex 4.6.0 作为默认 sdk。
如果有人知道出了什么问题,请告诉我!
感谢任何帮助!
【问题讨论】:
-
如何确定
addEventListener不起作用? -
你点击了按钮,没有任何反应?你说的是这个吗?
-
新的 Flash 播放器不太可能破坏
addEventListener。 -
好吧,我的意思是“什么都没有发生”并不能很好地隔离问题。我怀疑
addEventListener是问题所在,是其他问题。放置一些调试输出,或者更好的是,使用调试器运行 SWF 并查看它到达的位置。 -
点击后要执行的第一个函数是ExternalInterface.call("alert", 2);但什么也没发生。如果我使用调试器运行 swf,则效果很好!但!!!!我的调试器版本是 10.3.0,浏览器有 17
标签: actionscript-3 flash mouseevent addeventlistener