#actionscript-3 #flash
#actionscript-3 #flash
Вопрос:
Я новичок в AS3 и нуждаюсь в некоторой помощи.
Я хочу загрузить фильм, зависящий от переменной. Например, я хочу загрузить из
‘http://example.com/test /‘ variable ‘.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);
}
спасибо за вашу помощь
Комментарии:
1. Что пошло не так? На первый взгляд, ваш код выглядит нормально. Какое значение
variable
? Единственное, что вам нужно сделать, это установитьvar variable:String = "x";
где-нибудь передns.play
вызовом метода.2. Извините, я не объяснил себя должным образом. я хочу установить переменную вне файла. аналогично добавлению переменной click. clickTag= бла-бла. Но как мне настроить это внутри файла? принять внешнюю переменную?
Ответ №1:
Для этого используются 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=1amp;two=2" />
<embed src="main.swf"
width="550"
height="400"
autostart="false"
quality="high"
bgcolor="#ffffff"
FlashVars="one=1amp;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
Он содержит пример только для 1 переменной с именем «myVariable»:
LoaderInfo(this.root.loaderInfo).parameters.myVariable;
На странице также есть тестовый проект онлайн.
Комментарии:
1. Извините, я действительно не вижу в AS, где он загружает его в зависимости от внешней переменной. Я просто недостаточно знаю AS3, чтобы знать, как импортировать значение из внешней переменной