![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 72
|
добрый день прошу помощи не могу вывести данные с массива в денамически созданное тест поле
массив kusimus_array[]; заполняется в руте по php запросу - без проблем выводиться в текстовое поле созданное инструментом во FLash создал клип mcKusimus и уже в нём программно создаю поле var yy = 50; var myformat:TextFormat = new TextFormat(); myformat.size = 20;/*размер шрифта*/ myformat.color = 0xFF0000; var n:String = kusi_array[0]; this.createTextField("kusimus", this.getNextHighestDepth(), 30, yy, 600, 100);/* x, y, W,H */ kusimus.border = true; kusimus.multiline = true; kusimus.autoSize = true; kusimus.wordWrap = true; // перенос слов разрешен kusimus.type = "dynamic"; //тип текста dynamic input kusimus.maxChars = 255; //можно ввести только 16 символов kusimus.text = kusimus_array[0]; kusimus.setTextFormat(myformat); пробую просто создавать в начале клипа переменную в руте - и вывести - всё норм подскажите где накосячил? ![]() |
|
|||||
|
Все дело в области видимости переменных. Я так понимаю массив kusimus_array находится в _root, а вы пытаетесь обратится к одному из его элементов из клипа mcKusimus. Варианты решения проблемы:
1. Сделать массив глобальным - var kusimus_array заменить на _global.kusimus_array 2. Обращаться к элементу через _root - kusimus.text = _root.kusimus_array[0]; Первый вариант предпочтительнее. |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 72
|
странно - но не помогло хм...я кстати так пробывал - видно в самой функции где обработка данных - косяк
вот она собственно function Gorizontal(idkey:String,tema:String) { Kuest_Button._visible=false; /*mcKusimusi._visible=false;*/ /*для передачи в функцию Window*/ formData2 = new LoadVars(); //при загрузке флешки в пустое поле выводить сообщение formData2.onLoad = function(success:Boolean) { if (success) { //стартовая позиция картинок по X var startXg:Number = 0; //стартовая позиция картинок по Y var startYg:Number = 0; //дистанция между картинками var imageShift2:Number = 1; //текущая координата картинки var currImageXg:Number = 0; //создаем контейнер в ScrollPane'e gorizScroller.contentPath = "ScrollContentGorizont"; /*вносим список id materiala*/ var my_str3:Array = formData2.id_material; var id_material_array = new Array(); id_material_array = my_str3.split("$$"); /*вносим заголовки тем*/ var my_str4:Array = formData2.heading_material; var heading_material_array = new Array(); heading_material_array = my_str4.split("$$"); /**********************************вопросы к теме*************************************************/ /*вносим id вопросов*/ var my_st:Array = formData2.id_kus; var id_kus_array = new Array(); id_kus_array = my_st.split("$$"); /* вносим сами вопросы*/ var my_st1:Array = formData2.kusimus; _global.kusimus_array = new Array(); kusimus_array = my_st1.split("$$"); /*выводим кнопку если есть вопросы к теме*/ mcKusimusi.ggg = "sdfdsfds"; /*mcKusimusi.kusi_array = kusimus_array;*/ if(kusimus_array[0]!=""){Kuest_Button._visible=true;} /*hhh.text = kusimus_array[0];*/ /*************************************************************************************************/ for (var i = 0; i<heading_material_array.length-1; i++) { //добовляем картинку из библиотеки gorizScroller.spContentHolder.attachMovie("ttitle","ttitle"+i,i); //оптимизируем скрипт создавая переменную image передавая ей ссылку на нашу картинку var ttitle:MovieClip = gorizScroller.spContentHolder["ttitle"+i]; //выставляем координаты токо что созданной картинки ttitle.vertScroller.spContentHolder.titleText.text = heading_material_array[i]; ttitle.titleText.text = heading_material_array[i]; ttitle._x = startXg; ttitle._y = startYg; //выщитываем новую координату для следующей картинки startXg += ttitle._width+imageShift2; /*для передачи в функцию Window*/ ttitle.IdKey2_array = id_material_array[i]; ttitle.head_array = heading_material_array[i]; ttitle.temaForWindow = tema; if (i == 0)/*если первый запрос */ { MainWindow(tema,heading_material_array[i],id_material_array[i]); } } }else{ ttitle.titleText.text = "Error loading/parsing LoadVars."; } }; /*ОТПРАВЛЯЕМ В PHP ID темы */ formData2.keys = idkey; //отсылаешь в файл .php formData2.sendAndLoad('phpgorizontal.php', formData2, 'POST'); } |
|
|||||
|
Хм... а если попробовать так:
kusimus_array = my_st1.split("$$"); заменить на kusimus_array = my_st1.split("$$").slice(); Да, а вне функции Gorizontal массив виден ? |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 72
|
виден: взять даже функцию MainWindow - в ней поменял вместо темы вставил массив kusimus_array- всё показывает
я думаю тут что-то с этим мувиклипом mcKusimus- это он почемуто- не видит этот массив именно с этой функции - поскольку с других мест перменные этот клип видит |
|
|||||
|
Странно, попробуйте создавать глобальный массив вне функций, а в функции задавать ему значение.
|
|
|||||
|
Регистрация: Jul 2008
Сообщений: 72
|
ща прпробую - у меня такой вопрос: как вывести несколько таких текстовых полей в один мувик одним циклом - из массива значит ? аттачем?
|
|
|||||
|
Нет, аттач тут безполезен, просто создайте через цикл необходимое количество полей:
for(i=0; i < kusimus_array.length; i++) { var kusimus = this.createTextField("kusimus"+i, this.getNextHighestDepth(), 30, yy+100*i, 600, 100);/* x, y, W,H */ kusimus.border = true; kusimus.multiline = true; kusimus.autoSize = true; kusimus.wordWrap = true; // перенос слов разрешен kusimus.type = "dynamic"; //тип текста dynamic input kusimus.maxChars = 255; //можно ввести только 16 символов kusimus.text = kusimus_array[i]; kusimus.setTextFormat(myformat); } |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 72
|
чё-то не идёт .......- что-то переделать придётся - а за цикл спасибо - обязательно применю =)
Добавлено через 10 часов 31 минуту тупо код перенёс из мувика в рут - всё заработалотеперь появилас новая проблема - как отчистить мувик от этих строк??? - поскольку при повторном вызове функции всё печатаеться поверх напечатанного - та же проблема и с вывродом изображения - не знаю как выгружать его из мувика -( загружал с помощью loadMovie) Последний раз редактировалось sector_222; 09.02.2009 в 12:30. |
|
|||||
|
Выгружай с помощью, unloadMovie()
|
![]() |
![]() |
Часовой пояс GMT +4, время: 15:20. |
|
|
« Предыдущая тема | Следующая тема » |
|
|