![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2009
Сообщений: 5
|
Добрый день!
Описание задачи: создаю сцену из пяти кадров по типу визарда. На каждом шаге вводятся данные в текстовые поля Input Text и на последнем кадре происходит обработка данных. Есть кнопки "Вперед" и "Назад" двигаясь по которым, необходимо, что бы в заполненных ранее полях сохранялись данные. Что я делаю: На первом кадре создаю массив необходимой длинны, и запускаю функцию, которая обнуляет этот массив. После ввода в поле данных, соответствующему элементу массива присваивается значение. Таким образом, доходя до последнего кадра имеется набор готовый для обработки. Причем, двигаясь вперед и назад значения из массива подгружаются туда, куда необходимо, но есть одно НО.... Проблема: При переходе на первый кадр, массив снова обнуляется и соответственно все данные в нем уничтожаются ![]() Какие были приняты меры: 1. При объявлении массива сразу же указывал значения всех элементов. Не помогло. 2. Обнулял массив один раз при onLoad(). Когда второй раз попадаю на первый кадр, то массив просто становится пустой. Есть ли у кого-нибудь какие-нибудь предложения и идеи??? Сам уже моск сломал... |
|
|||||
|
Модрон-ветеринар
|
Так пусть на вашем первом кадре функция, которая обнуляет массив, проверяет состояние специального триггера. Например, он устанавливается в true на втором кадре. Когда происходит возврат к первому кадру, то функция массив не обнуляет, но если первый кадр проигрывается первый раз, то значение триггера не определено, и функция должна обнулить массив.
В первом кадре: function clearArray () { if (!wasStarted) { //действия по обнулению массива } } clearArray (); Последний раз редактировалось mooncar; 03.12.2009 в 11:19. |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 5
|
alexcon314, да, я думал об этом, но это я оставлю на самую безвыходную ситуацию...
|
|
|||||
|
Модрон-ветеринар
|
Разумеется. Просто все действия для массива я оставил за символами комментариев // на усмотрение автора.
|
|
|||||
|
Регистрация: Dec 2009
Сообщений: 5
|
mooncar, это тоже не подходит, так как если функция не обнуляет массив, то массив вообще остается пустой, так как на первом кадре он объявляется.
Я думаю, что можно реализовать переприсваивание какого-нибудь временного массива, при переходе со второго кадра, но будет ли виден этот массив из второго в первом кадре? |
|
|||||
|
Модрон-ветеринар
|
Цитата:
Сделайте как сказал alexcon314 - "если массив не задан, то его создаем". |
|
|||||
|
Регистрация: Dec 2009
Сообщений: 5
|
Друзья! Спасибо!
Совместными усилиями и мозговой атакой, решили эту проблему!!!! //Массив, хранящий в себе значения введеных данных, названия соответствуют массиву из ArInputBox if (!arVarieble){ var arVarieble:Array = new Array(14); } //Заполнение массива arVariables нулями function arVarNull(){ for (var i:Number = 0; i < arVarieble.length; i++) { if(arVarieble[i]){ arVarieble[i]=arVarieble[i]; }else{ arVarieble[i] = 0; } } } function clearArray () { if (!wasStarted) { arVarNull();//действия по обнулению массива } } clearArray (); // wasStarted присваевается true не на втором кадре, а при клике кнопки "Следующий" |
|
|||||
|
Модрон-ветеринар
|
Немного смущает
Почему бы вам не оставить только действия по обнулению: |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:10. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|