我是AS3 noobie,需要一些帮助。
我想加载依赖于变量的影片。例如,我想从
加载' http://example.com/test/&#39 + +可变'的.mp4'
所以我决定这次我想玩x.mp4 - 我如何在AS3中这样做?
这是我到目前为止所做的:
// ActionScript 3.0
var video:Video = new Video();
addChild(video);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.client = {onMetaData:ns_onMetaData, onCuePoint:ns_onCuePoint};
video.attachNetStream(ns);
ns.play("http://example.com/test/"+variable+".mp4");
function ns_onMetaData(item:Object):void {
trace("metaData");
// Resize video instance.
video.width = item.width;
video.height = item.height;
// Center video instance on Stage.
video.x = (stage.stageWidth - video.width) / 2;
video.y = (stage.stageHeight - video.height) / 2;
}
function ns_onCuePoint(item:Object):void {
trace("cuePoint");
trace(item.name + "\t" + item.time);
}
感谢您的帮助
答案 0 :(得分:0)
您可以使用FlashVars:
http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html
以下是示例中的代码。请注意,有两个不同的Flashvars条目:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
width="550"
height="400"
align="middle"
id="main">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="main.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name="FlashVars" value="one=1&two=2" />
<embed src="main.swf"
width="550"
height="400"
autostart="false"
quality="high"
bgcolor="#ffffff"
FlashVars="one=1&two=2"
name="main"
align="middle"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
如果你使用swfobject(https://code.google.com/p/swfobject/),它已内置支持它。
编辑:
一个更简单的例子是:
http://helpx.adobe.com/flash/kb/pass-variables-swfs-flashvars.html
它包含一个名为“myVariable”的变量的示例:
LoaderInfo(this.root.loaderInfo).parameters.myVariable;
该页面还有一个在线测试项目。