![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2011
Сообщений: 72
|
создаю типа видео галерею.. На данный момент код таков:
public function videoload() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event):void { loadvideo(); } function loadvideo() { if (countarray < videoarray.length)//countarray просто счетчик { var vid:FLVPlayback = new FLVPlayback(); vid.autoPlay = false; vid.source = videoarray[countarray]; //vid.x = xload; var btnplay:MovieClip = new btn();//добавляю кнопку play //btnplay.x = xload; btnplay.addEventListener(MouseEvent.CLICK, playv); addChild(vid); addChild(btnplay); //trace(xload); //xload = xload + 320; countarray++; trace("loadvideo"); loadvideo(); function playv(e:MouseEvent) //вложенная функция { vid.play(); } } } } |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 300
|
Вынести функцию playv и переменную vid, из функции loadvideo?
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 72
|
vid это не переменная, эт вроде как экземпляр FLVPlayback, и создаются они в цикле. Если его выносить из функции loadvideo то также нужно создавать массив. И массив кнопок тоже соответственно. Мне так кажется, что можно использовать что-то типа
но почему-то это не срабатывает |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
Не target, а currentTarget нужен
|
|
|||||
|
Регистрация: Nov 2009
Сообщений: 300
|
public function videoload() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event):void { loadvideo(); } var vid:FLVPlayback; function loadvideo() { if (countarray < videoarray.length)//countarray просто счетчик { vid = new FLVPlayback(); vid.autoPlay = false; vid.source = videoarray[countarray]; //vid.x = xload; var btnplay:MovieClip = new btn();//добавляю кнопку play //btnplay.x = xload; btnplay.addEventListener(MouseEvent.CLICK, playv); addChild(vid); addChild(btnplay); //trace(xload); //xload = xload + 320; countarray++; trace("loadvideo"); loadvideo(); } } function playv(e:MouseEvent) //не вложенная функция { vid.play(); } } P.S. vid - это все-таки переменная. Последний раз редактировалось saikspaik; 07.09.2011 в 10:16. |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 72
|
Цитата:
Добавлено через 3 минуты e.currentTarget.vid.play(); ошибка TypeError: Error #1010: A term is undefined and has no properties. at videoload/playv() |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 300
|
Да, у меня там ошибка, нужно vid = new FLVPlayback();
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 72
|
сейчас ошибок нет, но при нажатии на любой батон проигрывается почему-то только последний файл
листинг целиком package { import flash.display.MovieClip; import flash.display.Loader; import flash.events.Event; import flash.net.URLRequest; import flash.display.LoaderInfo; import flash.display.Stage; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.display.StageDisplayState; import flash.events.MouseEvent; import fl.video.*; public class videoload extends MovieClip { var videoarray:Array = new Array("tema1.flv","tema2.flv","tema3.flv"); var countarray:uint = 0; var xload:Number = 0; var vid:FLVPlayback; public function videoload() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event):void { stage.scaleMode = StageScaleMode.SHOW_ALL; stage.displayState = StageDisplayState.FULL_SCREEN; stage.align = StageAlign.TOP_LEFT; loadvideo(); } function loadvideo() { if (countarray < videoarray.length) { vid = new FLVPlayback(); vid.autoPlay = false; vid.source = videoarray[countarray]; vid.x = xload; var btnplay:MovieClip = new btn(); btnplay.x = xload; btnplay.addEventListener(MouseEvent.CLICK, playv); addChild(vid); addChild(btnplay); trace(xload); xload = xload + 320; countarray++; trace("loadvideo"); loadvideo(); } } function playv(e:MouseEvent) { vid.play(); } } } |
|
|||||
|
У вас 1 Объект FLVPlayback естественно будет 1 видео файл проигрываться
Добавлено через 2 минуты function loadvideo() { if (countarray < videoarray.length) { var btnplay:MovieClip = new btn(); btnplay.x = xload; btnplay.addEventListener(MouseEvent.CLICK, playv); btnplay.name = countarray; addChild(btnplay); trace(xload); xload = xload + 320; countarray++; trace("loadvideo"); loadvideo(); } } function playv(e:MouseEvent) { var index:uint = uint(e.currentTarget.name); vid = new FLVPlayback(); vid.autoPlay = false; vid.source = videoarray[index]; vid.x = xload; vid.play(); }
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 72
|
Цитата:
кстати, нету строчки addChild(vid) тут |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:53. |
|
|
« Предыдущая тема | Следующая тема » |
|
|