Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Параметр contentPath из внешнего файла (http://www.flasher.ru/forum/showthread.php?t=87484)

Orthank 06.11.2006 16:24

Параметр contentPath из внешнего файла
 
Добрый день, уважаемые Flasher'ы!
Столкнулся с проблемой при создании флешки с видео. На основной сцене у меня слева FLVPlayback, а справа список видео на выбор. Причем фишка - при загрузке флешки должно грузится видео, которое я назначаю во внешнем текстовом файле. Я назначаю переменную, гружу в нее данные из текстового документа, а затем пишу, что contentPath = эта переменная. Но ничего не работает...
Код:
Код:

var file = new XML();
file.load("virgin.txt");
FLVPlybk.contentPath = file;

PS Также не получается список фильмов на просмотр составлять на основе внешнего XML так, чтобы каждый новый <entry> был ссылкой для Видео-компонента...
Заранее благодарен!

silin 06.11.2006 16:46

Код:

var file:XML = new XML();
file.onLoad=function(){
        FLVPlybk.contentPath =file.toString();
}
file.load("virgin.txt");


Orthank 06.11.2006 19:15

Премного благодарен!!!
А также не могли бы подсказать, что сделать чтобы список фильмов (тот что справа) работал на основе XML (графы: название, длительность, описание, ссылка на видео-файл), причем каждый отдельный фильм - ссылка, при нажатии на которую в видео-компонент передается новый contentPath и начинается проигрываение?
Я думаю должно быть что-то типа - каждый новый <entry> в XML-файле - это отдельная кнопка с заданным кодом для нажатия...
Для списка я на данный момент имею код:
В первом кадре:
Код:

var finished = 0;
var doc = new XML();
doc.load("news.xml");

... Потом в 3-ем:
Код:

if(!doc.loaded) gotoAndPlay(2);
И в 4-ом
Код:

var cY=0;
var node=doc; 
var date;
var author;
var url;
var from;
var tex;
var l=1;
var lines = new Array();
var i;
var pos=0;
if(node.firstChild!=null) {
  node=node.firstChild;
  while(node!=null && node.nodeName==null) {
                node=node.nextSibling;
  }
  node=node.firstChild;  while(node!=null) {
                if(node.nodeName!=null){               
                        date=node.attributes.date;
                        author=node.attributes.sender;
                        url=node.attributes.url;
                        tex=node.firstChild.nodeValue;
                        if(url!='')author="<a href='"+url+"'>"+author+"</a>";
                        attachMovie("entry", "entry_"+l, l );
                        this["entry_"+l]._x=0;
                        this["entry_"+l]._y=cY;
                        this["entry_"+l].date=date;
                        this["entry_"+l].author=author;
                        lines=tex.split(chr (10));
                        cY+=14; l++;
                        dix=0
                        for(i=0;i<lines.length;i++){
                                if(lines[i]!="") dix=1;
                                if(dix!=0){
                                        attachMovie("textline", "tl_"+l+"_"+i, l );
                                        this["tl_"+l+"_"+i].body=lines[i];
                                        this["tl_"+l+"_"+i]._y=cY;
                                        cY+=14; l++;
                                }
                        }
                }
node=node.nextSibling;
  } 
}
finished=1;
stop();

Что надо дописать, чтобы он делал каждый новый объект (фильм) отдельным мувиком и ставил ссылку на нажатие?

to silin
Еще раз спасибо!

silin 06.11.2006 19:42

>>А также не могли бы подсказать, что сделать чтобы список фильмов (тот что справа) работал на основе XML
то, что он справа несколько осложняет задачу :), но попробовать можно :
-разобрать XML
-создать кнопки/мувики с текстами (название, описание..) и свойствами (ссылка, длительность..)
-на онПресс повесить нужные действия..

зы: в чем трабл не ясно..

Orthank 06.11.2006 21:15

Проблема в том, что изначально неизвестно сколько элементов (фильмов) будет в XML, поэтому нужно чтобы флеш программно создавал мувики + вешал код на нажатие + вставлял в мувик описание и брал ссылку из XML.
Я понимаю, что кода будет довольно много, но вы бы очень помогли сказав как: программно создавать мувики, чтобы на каждый новый из них вешалась следующая ссылка из XML; куда в данном выше коде вставлять код создания мувика и добавления в него всей нужной информации.
Заранее благодарен!

silin 06.11.2006 22:13

Вложений: 1
для примера кода будет не много
в библиотеке создай мувик с linkage Identifier "linkageID" и текстфилдом внутри, var тектфилда пусть будет "label"..
в руте напиши
Код:

var mc=this.attachMovie("linkageID","mc",0,{_x:20,_y:100,label:"my text"});
mc.onPress=function(){
        trace(this.label);
}

и все увидишь..

зы: 'куда в данном выше коде вставлять..' занятие бестолоковое..

Что такое хорошо? 07.11.2006 13:57

Цитата:

Сообщение от Orthank
Проблема в том, что изначально неизвестно сколько элементов (фильмов) будет в XML, поэтому нужно чтобы флеш программно создавал мувики + вешал код на нажатие + вставлял в мувик описание и брал ссылку из XML.
Я понимаю, что кода будет довольно много, но вы бы очень помогли сказав как: программно создавать мувики, чтобы на каждый новый из них вешалась следующая ссылка из XML

Сколько у тебя в XML элементов, столько и будет создано мувиков.
Для этого используй циклы:

Код:

        xml_3 = new XML();
        xml_3.ignoreWhite = true;
        xml_3.load("my_list.xml");
        //
        xml_3.onLoad = function(ok) {
                if (ok) {
                        yP = 0;
                        xP = 25;
                        //
                        txtNodes = xml_3.firstChild.childNodes;
                        //--------------------------------------------------------
                        for (i=0; i<txtNodes.length; i++) {
                                _zaata4ennoe = swf["block_"+nf].slot.attachMovie("atta4_hide", "atta4_"+i, swf["block_"+nf].slot.getNextHighestDepth(), {_x:xP, _y:yP});
        }


Orthank 07.11.2006 18:46

Вложений: 1
Спасибо огромное за помощь, но фишка в том, что у меня уже все работает, кроме становления кнопкой каждого отдельного фильма, поэтому полностью код переделывать не хочется. Я прикрепил исходник, там все есть. Но я не могу представить куда надо писать код, чтобы каждый новый элемент (<entry>) из XML-файла становился кнопкой и посылал код на FLVPlayback при нажатии. Прошу вас указать место куда вставлять код и какого типа он должен быть или какие функции использовать, чтобы все работало.
Заранее благодарен за помощь!

silin 07.11.2006 19:39

нормальная позиция: код переделывать не хочется, желающие это сделать за меня, приступайте...

Orthank 07.11.2006 19:52

Прошу прощения, если мои слова выглядят как то, что вы сказали, но я же попросил просто указать место куда надо вставлять код. Или и правда надо полностью его переписывать?


Часовой пояс GMT +4, время: 09:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.