Actionscript 3 Can';t将变量移到函数外
您好,这是我的“播放视频”功能。每当我试图将变量移到函数之外以控制来自其他地方的视频(例如“vid”),特定的movieclips和按钮就会消失(不会在舞台上显示)。这是某种错误还是我做错了什么?谢谢 这样做:Actionscript 3 Can';t将变量移到函数外,actionscript-3,Actionscript 3,您好,这是我的“播放视频”功能。每当我试图将变量移到函数之外以控制来自其他地方的视频(例如“vid”),特定的movieclips和按钮就会消失(不会在舞台上显示)。这是某种错误还是我做错了什么?谢谢 这样做: function playvideo(path:String, wid:Number=1280, heigt:Number=720):void { var nc:NetConnection = new NetConnection(); nc.connect(null);
function playvideo(path:String, wid:Number=1280, heigt:Number=720):void
{
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = this;
ns.addEventListener(NetStatusEvent.NET_STATUS, statusChanged);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
SoundMixer.stopAll();
var vid:Video = new Video();
ns.play(path);
vid.width = wid;
vid.height = heigt;
vid.attachNetStream(ns);
mc_bg.removeChildAt(0);
mc_bg.addChild(vid);
}
对于任何var,同样要声明外部函数您需要理解的术语是“范围”。变量和函数只能在声明它们的括号内访问。我想你可能不理解我的问题:我正在创建的赛车游戏有一个由该函数显示的视频背景。当我把这个变量放在函数中时,movieclip显示了你在比赛后得到了多少钱,但是当我像你一样把这个变量放在函数外时,movieclip就消失了。我需要清除那个变量或类似的东西吗?谢谢您使用的是类吗?是AS3吗?调用函数时是否尝试调试var?是的,是AS3,但我不使用任何类,只使用一个框架中的脚本。它们是必要的吗?试图跟踪var,它只给了我“[对象视频]”。然后你得到了函数外部的变量,不是吗?不是,因为如果我把它移到函数外部,下一帧的movieclips不会显示,只是黑屏。
var vid:Video = new Video();
function playvideo(path:String, wid:Number=1280, heigt:Number=720):void
{
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = this;
ns.addEventListener(NetStatusEvent.NET_STATUS, statusChanged);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
SoundMixer.stopAll();
ns.play(path);
vid.width = wid;
vid.height = heigt;
vid.attachNetStream(ns);
mc_bg.removeChildAt(0);
mc_bg.addChild(vid);
}