Просмотр полной версии : последовательная загрузка n-числа jpeg файлов
AlexandrG
20.12.2005, 20:47
Есть файл с одним эффектом, типа шторки
Должн подгружаться новые 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'ов
Сначала загоняем элементы xml в массив. А дальше пользуемся этим массивом для последовательной загрузки jpeg'ов
Да и массив не сильно нужен можно спокойно брать всё что нужно из XML ... собственно примеров куча даже в хелпе, тем более что уже давно есть русская версия ...
antonyrec
20.12.2005, 21:51
Да и массив не сильно нужен можно спокойно брать всё что нужно из 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
спасибо
to antonyrec
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...
antonyrec
20.12.2005, 22:24
to antonyrec
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...
Спасибо. Я не силен пока в форумах. Этот мой первый, пока не все знаю.
p.s. Спасибо за правки
Спасибо. Я не силен пока в форумах. Этот мой первый, пока не все знаю.
Ничего страшного просто, когда код большой он совершенно нечитабелен становится ...
antonyrec
20.12.2005, 22:27
Учту, thanks
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")
блин пока писал - тут уже столько накатали...
to Король
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...
antonyrec
21.12.2005, 00:11
to Король
используйте пожалуйста тег [ code ][/ code ] для отображения кода в ваших сообщениях ...
А я уже знаю :)
Кузен, вау, какая красота!
Издеваешься ))) Ну я серьёзно, ведь так намного удобнее понять где код да и читабельность лучше ... что тебе стоит нажимать на одну лишную кнопочку ...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.