Actionscript 3 其中一个参数在as3中无效
如何修复其中一个参数as3无效Actionscript 3 其中一个参数在as3中无效,actionscript-3,flash,air,Actionscript 3,Flash,Air,如何修复其中一个参数as3无效 首先单击位图以显示映射=确定 映射+关闭BTNMAP=>显示,btn映射=>隐藏 单击“关闭贴图”隐藏贴图=确定 第二次单击btnmap以显示maps=ERORR 代码: import flash.media.StageWebView; import flash.events.MouseEvent; import flash.events.Event; var _webView:StageWebView = new StageWebView(); btnma
import flash.media.StageWebView;
import flash.events.MouseEvent;
import flash.events.Event;
var _webView:StageWebView = new StageWebView();
btnmap.addEventListener(MouseEvent.MOUSE_UP, addWebView);
function addWebView(e:MouseEvent):void
{
_webView.viewPort = new Rectangle(0, 170, 480,510);
_webView.stage = this.stage;
_webView.loadURL("https://goo.gl/maps/b6lMB");
btnclosemap.visible =true;
btnclosemap.addEventListener(MouseEvent.CLICK, closeWebView);
}
function closeWebView(e:MouseEvent):void
{
_webView.stage = null;
_webView.dispose();
btnclosemap.visible =false;
}
错误:
ArgumentError:错误#2004:其中一个参数无效。
在flash.media::StageWebView/set viewPort()中
在sanggaluri_fla::plokasi_27/addWebView()[sanggaluri_fla.plokasi_27::frame1:29]
您的问题可能是因为在
closeWebView
方法中,您处理了名为\u webView
的StageWebView
现在,当您再次单击并运行addWebView
时,您尝试设置它的视口,但web视图已被释放,因此它会抛出错误
要使其正常工作,请在addWebView
方法中创建一个新的StageWebView
因此:
您可以发布实际的错误消息吗?虽然这不是错误的解决方案,但您应该将
btnclosemap.addEventListener(MouseEvent.CLICK,closeWebView)
移动到addWebView
methodArgumentError:error#2004:其中一个参数无效。flash.media::StageWebView/set viewPort()位于sanggaluri_fla::plokasi_27/addWebView()[sanggaluri_fla.plokasi_27::frame1:29]你能给我举个例子吗?修复…谢谢…)(y)
var _webView:StageWebView; //don't instantiate it here
btnmap.addEventListener(MouseEvent.MOUSE_UP, addWebView);
btnclosemap.addEventListener(MouseEvent.CLICK, closeWebView);
function addWebView(e:MouseEvent):void
{
if(!_webView){
_webView = new StageWebView(); //Create a new one here if it doesn't exist / is null
}
_webView.viewPort = new Rectangle(0, 170, 480,510);
_webView.stage = this.stage;
_webView.loadURL("https://goo.gl/maps/b6lMB");
btnclosemap.visible =true;
}
function closeWebView(e:MouseEvent):void
{
_webView.stage = null;
_webView.dispose();
_webView = null; //make it null so you know it's been disposed
btnclosemap.visible =false;
}