![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
|
Добрый день. Нужно сделать слайдшоу с интервалом в 2 секунды. Параметры забираю из XML. Сначала при вызове ф-ции загружаю картинку с 0 индексом - работает.
Потом через каждые 2 секунды по таймеру из переменной забираю увеличенное значение индекса. Трейсом вывожу имена новых элементов и их параметры - всё выводится, но картинка не обновляется - получаю ошибку: Ошибка: TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать XML@277684f1 element <pctSw2 pctSwX="435" pctSwY="150" pctSwWidth="548" pctSwHeight="530"> в flash.net.URLRequest. at Function/<anonymous>() at flash.utils::Timer/_timerDispatch() at flash.utils::Timer/tick() <objects> <pictShow> <pctSw1 pctSwX = "435" pctSwY = "150" pctSwWidth = "550" pctSwHeight = "529">06_1.jpg</pctSw1> <pctSw2 pctSwX = "435" pctSwY = "150" pctSwWidth = "548" pctSwHeight = "530">06_2.jpg</pctSw2> <pctSw3 pctSwX = "435" pctSwY = "150" pctSwWidth = "550" pctSwHeight = "530">06_3.jpg</pctSw3> <pctSw4 pctSwX = "435" pctSwY = "150" pctSwWidth = "549" pctSwHeight = "530">06_4.jpg</pctSw4> <pctSw5 pctSwX = "435" pctSwY = "150" pctSwWidth = "547" pctSwHeight = "489">06_5.jpg</pctSw5> <pctSw6 pctSwX = "435" pctSwY = "150" pctSwWidth = "549" pctSwHeight = "530">06_6.jpg</pctSw6> </pictShow> </objects> var pictMem:int = 0; function callPictShow():void { var xmlPictShowList:XMLList; xmlPictShowList = xmlTitleList[i].children(); var pictShowLoad:UILoader = new UILoader(); var timerPict:Timer = new Timer (2000); timerPict.addEventListener(TimerEvent.TIMER, onTimerPict); timerPict.start(); pictShowLoad.x = xmlPictShowList.attribute('pctSwX')[0]; pictShowLoad.y = xmlPictShowList.attribute('pctSwY')[0]; pictShowLoad.width = xmlPictShowList.attribute('pctSwWidth')[0]; pictShowLoad.height = xmlPictShowList.attribute('pctSwHeight')[0]; pictShowLoad.source = xmlPictShowList[0]; pictShowLoad.load(); pictMem = 0; addChildAt(pictShowLoad,2); function onTimerPict(e:TimerEvent):void { pictMem++; trace(xmlPictShowList[pictMem]); trace (xmlPictShowList.attribute('pctSwX')[pictMem]); trace (xmlPictShowList.attribute('pctSwY')[pictMem]); trace (xmlPictShowList.attribute('pctSwWidth')[pictMem]); trace (xmlPictShowList.attribute('pctSwHeight')[pictMem]); trace(xmlPictShowList[pictMem]); pictShowLoad.x = xmlPictShowList.attribute('pctSwX')[pictMem]; pictShowLoad.y = xmlPictShowList.attribute('pctSwY')[pictMem]; pictShowLoad.width = xmlPictShowList.attribute('pctSwWidth')[pictMem]; pictShowLoad.height = xmlPictShowList.attribute('pctSwHeight')[pictMem]; pictShowLoad.load(xmlPictShowList[pictMem]); timerPict.stop(); timerPict.reset(); timerPict.start(); } } Последний раз редактировалось niks_13; 04.05.2011 в 17:14. |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
|
Я передаю из XML листа имя картинки.
Если оттрейсить: xmlPictShowList[pictMem] - выводятся правильные имена из XML'а. Если знаете что исправить буду признателен. |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Если бы Вы пошли по ссылке и прочитали текст, то увидели бы примеры кода.
![]()
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
|
Я прекрасно умею пользоваться loader'ом и мне нужно решение проблемы, а не прочтение Войны и Мира, иначе зачем ещё форум нужен.
_____________________________________________________________ Проблема решена. Последний раз редактировалось niks_13; 04.05.2011 в 18:19. |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
Коллега, не надо рефлексии. Строка pictShowLoad.load(xmlPictShowList[pictMem]) говорит, что лоадером Вы пользоваться не умеете и более возвращаться к этому не будем.
Итак, берем пример по ссылке, которую я дал: import fl.containers.UILoader; var url:String = "http://www.helpexamples.com/flash/images/image3.jpg"; var req:URLRequest = new URLRequest(url); var myUILoader:UILoader = new UILoader(); myUILoader.scaleContent = false; myUILoader.move(10, 10); myUILoader.load(req); addChild(myUILoader); Нет?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
|
Эта строка говорит, что я делал это в 2:43 ночи, а если бы Вы видели предыдущие 500 строк (чего я ни в жисть не покажу) и 8 вызываемых лоадеров, то заметили бы, что это случайная ошибка. Так что не надо необъективной критики.
Я же сказал, что уже всё решил. Это: меняем на: Последний раз редактировалось niks_13; 04.05.2011 в 23:24. |
|
|||||
|
[+1 23.05.11]
Регистрация: Dec 2001
Сообщений: 4,159
|
2:43, 16:05, 16:38.
No more comments ![]()
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|