|
|
|||||
Регистрация: Oct 2011
Сообщений: 5
|
Динамическое создание объектов
Приветствую всех!
Подскажите как динамически создать 30 объектов в цикле и добавить их на сцену? Раньше в 2.0 я делал это через eval(). Но в 3.0 не все так просто. Есть рабочий кусок кода который создает один мувик в который с FMS идет потоковое видео. Мне нужно на экран отобразить 30 разных видео потоков. И соответвенно потом знать как обращаться к каждому мувику.. nsPlayer = new NetStream(nc); nsPlayer.play(flashVars.Str_name); vidPlayer = new Video(maxWidth, maxHeight); vidPlayer.x = vidPlayer.y = 0; vidPlayer.width = maxWidth; vidPlayer.height = maxHeight; vidPlayer.attachNetStream(nsPlayer); PlaybackVideo = new MovieClip() PlaybackVideo.x = startBigX; PlaybackVideo.y = startBigY PlaybackVideo.addEventListener(MouseEvent.CLICK, switchMode); PlaybackVideo.addChild(vidPlayer); addChild(PlaybackVideo); |
|
|||||
Как-то
var videos:Array = []; /* of Video */ var quantity:int = 30; nsPlayer = new NetStream(nc); for (var i:int=0; i<quantity; ++i) { var temp:Video = new Video(maxWidth, maxHeight); temp.x = 0; temp.y = maxHeight * i; temp.attachNetStream(nsPlayer); temp.addEventListener(MouseEvent.CLICK, switchNode); videos.push(temp); addChild(temp); } nsPlayer.play(flashVars.Str_name);
__________________
adobe AS3 manual Последний раз редактировалось strangedk; 31.01.2013 в 19:50. |
|
|||||
Регистрация: Oct 2011
Сообщений: 5
|
Точно! Спасибо. в массиве ссылка на объект..
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Вопрос вроде звучал как
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
Пропустил, невнимательно читал. Но автору видимо достаточно добавления массива
__________________
adobe AS3 manual |
|
|||||
Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
Мы в одном чате делали много потоков сразу, да, тормозило прилично. Но можно делать хитрости в виде обновления видео только при наведении мыши. Или обновлять по таймеру.
Сразу 30 конечно не имеет смысла.
__________________
adobe AS3 manual |
|
|||||
Регистрация: Oct 2011
Сообщений: 5
|
С логикой потоков у меня нет проблем. 30 потоков отображаются без тормозов. Разрешение и фпс маленькие + обновление по событиям.
В рамках темы появился еще один вопрос: Сначала хотел делать комнату для конференции заранее определенную на 30 мест для каждого пользователя, но вспомнил про возможность использования общих объектов SharedObjects. При появлении нового пользователя добавлять всем клиентам его видео.. Делаю так: nc = new NetConnection(); nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); nc.connect(flashVars.server); .... private function onNetStatus(event:NetStatusEvent):void{ // к серверу конектиться удачно видео приходит.. so = SharedObject.getRemote("ballPosition", nc.uri, true); // вопрос: как то надо заводить этот объект на стороне сервера? //потому как на сервере нет никаких объектов.. что делаю не так? trace(so.connect(nc)); // undefined? so.addEventListener(SyncEvent.SYNC, syncHandler); so.setProperty("x", Math.random()); } private function syncHandler(event:SyncEvent):void { trace(so.data.x) // тишина сответственно } |
Часовой пояс GMT +4, время: 10:33. |
|
« Предыдущая тема | Следующая тема » |
Теги |
fms , видео |
|
|