Форум 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)
-   -   последовательная загрузка n-числа jpeg файлов (http://www.flasher.ru/forum/showthread.php?t=73376)

AlexandrG 20.12.2005 20:47

последовательная загрузка n-числа jpeg файлов
 
Есть файл с одним эффектом, типа шторки
Должн подгружаться новые Jpeg'и и эффект проходить на них
Клиент хочет чтобы он сам мог задавать не во флэше произвольное количество названий jpeg'ов и все грузилось и работало поочереди.
Я неособо знаком с xml, клиент почему то утверждает что через XML это сделать проще всего.
У меня были 2 мысли - первая - пусть клиент сам редактирует Flashvars в HTML и передаёт имена jpeg'ов оттуда. Но тут я неособо понимаю как узнать во флэше кол-во передаваемых файлов
Вторая мысль - просто LoadVarsом прочитать текстовый файл и разбить его в массив - так по моему проще всего.
Если у кого есть какие мысли - буду рад

Спасибо

antonyrec 20.12.2005 20:56

клиент прав. xml в самый раз

antonyrec 20.12.2005 21:00

во-первых: почитай хелп по классу xml. Там, в принципе, понятно изложено.
во-вторых: xml в данной ситуации как нельзя кстати. Тут ты точно можешь знать и имена и кол-во jpeg'ов.

если не разберешься - поможем

AlexandrG 20.12.2005 21:20

да я в XML Ничего не варю )
ру разобраться можно конечно, но как клиент будет писать XML файл в который будет вписывать названия файлов - я так и не понял
По моему гораздо легче написать текстовый файл
image1.jpg, image2.jpg.....

antonyrec 20.12.2005 21:33

Поверь, с xml в этом случае легче

AlexandrG 20.12.2005 21:40

Клиент сказал что файл будет вида:

<?xml version="1.0"?>
<config timeout="3">
<!-- 566 x 246 -->
<img src="content/images/img_2_1.jpg" />
<img src="content/images/img_2_2.jpg" />
<img src="content/images/img_2_3.jpg" />
<img src="content/images/img_2_4.jpg" timeout="4"/>
<img src="content/images/img_2_5.jpg" timeout="300"/>

</config>

если нетрудно - надоумьте плиз, как файл прочитать и в каком массиве сохранятся переменные?

Спасибо

antonyrec 20.12.2005 21:42

Сначала загоняем элементы xml в массив. А дальше пользуемся этим массивом для последовательной загрузки jpeg'ов

KUZEN 20.12.2005 21:46

Цитата:

Сообщение от antonyrec
Сначала загоняем элементы xml в массив. А дальше пользуемся этим массивом для последовательной загрузки jpeg'ов

Да и массив не сильно нужен можно спокойно брать всё что нужно из XML ... собственно примеров куча даже в хелпе, тем более что уже давно есть русская версия ...

antonyrec 20.12.2005 21:51

Цитата:

Сообщение от KUZEN
Да и массив не сильно нужен можно спокойно брать всё что нужно из XML ... собственно примеров куча даже в хелпе, тем более что уже давно есть русская версия ...

Согласен. Сам по себе xml это, в принципе, и есть массив

AlexandrG 20.12.2005 22:01

timeout - задержка после эффекта
надобно думать что если ненаписан в строке - то равен нулю

я почитал хелп к XML, но природная тупость мешает найти пару нужных функций и сделать из них рабочую прогу. Примеров не нашел

Кто поможет - большое спасибо. Или примеры киньте

Еще раз спасибо

antonyrec 20.12.2005 22:04

А я думаю, что строка <config timeout="3"> определяет значение по умолчанию. Наверное так заказчик задумал?

antonyrec 20.12.2005 22:09

К делу.
Вот. Если устроит.

Формат xml:
Код:

<?xml version="1.0" ?>
<pics>
        <pic src = "jpg_name" tm = "4"/>
        <pic src = "jpg_name" tm = "7"/>
        <pic src = "jpg_name" tm = "6"/>
</pics>

Код:
Код:

_global.myXML = new XML();
myXML.ignoreWhite = true;
myXML.load("pics.xml");
myXML.onLoad = function(success) {
        if (success == true) {
                pics = new Array(myXML.firstChild.childNodes.length);
                tm = new Array(myXML.firstChild.childNodes.length);
                for (i=0; i<myXML.firstChild.childNodes.length; i++) {
                        pics[i] = myXML.firstChild.childNodes[i].attributes.src;
                        tm[i] = myXML.firstChild.childNodes[i].attributes.tm;
                }
        }
};

Теперь у тебя 2 массива - pics и tm. Делай с ними что хочешь.

AlexandrG 20.12.2005 22:14

спасибо

KUZEN 20.12.2005 22:15

to antonyrec
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...

antonyrec 20.12.2005 22:24

Цитата:

Сообщение от KUZEN
to antonyrec
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...

Спасибо. Я не силен пока в форумах. Этот мой первый, пока не все знаю.

p.s. Спасибо за правки

KUZEN 20.12.2005 22:26

Цитата:

Сообщение от antonyrec
Спасибо. Я не силен пока в форумах. Этот мой первый, пока не все знаю.

Ничего страшного просто, когда код большой он совершенно нечитабелен становится ...

antonyrec 20.12.2005 22:27

Учту, thanks

Король 20.12.2005 23:44

Код:

X = new XML()
XML.prototype.parse = function(){
arr = this.firstChild.childNodes
for(var i in arr){
nod = arr[i]
trace(nod.value)
for(var t in nod.attributes){
trace(nod.attributes[t])
}
}
}
X.onLoad = function(success){
if(success){
X.parse()
else{
}
X.load("1.xml")


Король 20.12.2005 23:45

блин пока писал - тут уже столько накатали...

KUZEN 20.12.2005 23:57

to Король
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...

antonyrec 21.12.2005 00:11

Цитата:

Сообщение от KUZEN
to Король
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...

А я уже знаю :)

Король 21.12.2005 00:22

Кузен, вау, какая красота!

KUZEN 21.12.2005 00:46

Издеваешься ))) Ну я серьёзно, ведь так намного удобнее понять где код да и читабельность лучше ... что тебе стоит нажимать на одну лишную кнопочку ...

Король 21.12.2005 00:53

я абсолютно серьезно


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

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