![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2008
Сообщений: 5
|
Извените если я повторяю вопрос, но я не смогла найти то что ищу. Поэтому решила задать вопрос.
Суть проблемы в том что есть четыри поля TextInput инужно определить введоно что-то в них или нет что б разблокировать кнопку перехода на следующий кадр. Пыталась сделать через функцию onChanged, но функция не вызывается... сейчас пытаюсь сдеать постоянную обработку но на выходе HTML формат :-( подскажите как можно на скрипте избавиться от HTML формата или как заставить работать onChanged Еще раз извините если повторяюсь или задаю глупый вопрос. |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Здравствуйте Aminako!
Цитата:
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Banned
[+1 02.07.08]
[+3 02.07.08] Регистрация: Jul 2007
Сообщений: 52
|
if (_loc1.text =="" && _loc2.text =="" && _loc3.text =="" && _loc4.text =="") { твое действие} Думаем проще )))
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
3d Developer! А в каком обработчике, извините, Вы собираетесь это проверять?
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Banned
[+1 02.07.08]
[+3 02.07.08] Регистрация: Jul 2007
Сообщений: 52
|
А зачем проверять когда код сам проверит ? я не понял вопроса реально! что ты хотел сказать этим ))) Вопрос вроде стоял так типа если все поля пустые то играет кнопка такое же ей надо было ? ) ну так я и ответил на вопрос )
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Все верно! Ваш код правильный. Только вот есть один ньюанс. Я расскажу.
Вот смотрите. Вы - пользователь. Вы открываете сайт - перед Вами 4 пустых текстовых поля и тут же кнопка перехода деактивируется - кодовый поток прошел. Вы вводите значения в поля. Как же снова спросить Флеш о том, пустые эти поля или нет. А выход только в наступлении события onChange или же в цикле onEneterFrame проверять эти поля на пустоту, что собственно расточительно по отношению к ресурсам.
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Banned
[+1 02.07.08]
[+3 02.07.08] Регистрация: Jul 2007
Сообщений: 52
|
OnEnterFrame в помощь ))) или же 3х кадровый перебор первый код второй gotoAndPlay(1);
|
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Зачем onEnterFrame - расточительное дело. Лучше onChanged, только вот неясно почему код Aminako неработает - мы код невидели. Как то абстрактно приходится гадать, что произошло.
В общем случае обработчик onChanged выглядит так: pole.onChanged = function():Void {
trace(this.text);//При изменении значения поля выведет введеный текст
};
Цитата:
![]() Вообще то хорошим стилем программирования считается написание кода в одном кадре - втором, а в первом обычно реализуют предзагрузчик, если таковой имеется.
__________________
Случайность, господа, это знаете ли непознанная необходимость. Последний раз редактировалось Alex_beginner; 30.06.2008 в 12:43. |
|
|||||
|
Banned
[+1 02.07.08]
[+3 02.07.08] Регистрация: Jul 2007
Сообщений: 52
|
Да не ты не понял наверное я имел ввиду типа :
1 мувиклип . в котором 2 кадра. 1 кадр с 4 полями и кодом : if (_loc1.text =="" && _loc2.text =="" && _loc3.text =="" && _loc4.text =="") { твое действие} А второй кадр с gotoAndPlay(1); / Тоесть код 1го будет постоянно выполнятся. |
|
|||||
|
3d Developer, это очень здорово, писать все onEnterFrame`ах. И варианты 4-го флэша (а ведь есть уже 10!) до сих пор чертовски актуальны.
Например, 2 идентичных кода. Код который предлагаете Вы var mc:MovieClip=_root.createEmptyMovieClip("draging",1);
mc.beginFill(0,100);
mc.lineTo(0,100);
mc.lineTo(100,100);
mc.lineTo(100,0);
mc.startDrag(true);
for (var i:Number=0; i<=50; i++){
for (var j:Number=0; j<=50; j++){
var mc:MovieClip=_root.createEmptyMovieClip("pole"+i,_root.getNextHighestDepth());
mc.createTextField("myText"+i,_root.getNextHighestDepth(),20*i,j*20, 20, 20);
mc.i=i;
mc["myText"+i].selectable=true;
mc.lastText=String(random(9999999));
mc["myText"+i].text=mc.lastText;
mc.onEnterFrame=function():Void{
if (this["myText"+this.i].text!=this.lastText) trace("Something changed...");
}
}
}
2 вариант кода: var mc:MovieClip=_root.createEmptyMovieClip("draging",1);
mc.beginFill(0,100);
mc.lineTo(0,100);
mc.lineTo(100,100);
mc.lineTo(100,0);
mc.startDrag(true);
for (var i:Number=0; i<=50; i++){
for (var j:Number=0; j<=50; j++){
var mc:MovieClip=_root.createEmptyMovieClip("pole"+i,_root.getNextHighestDepth());
mc.createTextField("myText"+i,_root.getNextHighestDepth(),20*i,j*20, 20, 20);
mc.i=i;
mc["myText"+i].selectable=true;
mc.lastText=String(random(9999999));
mc["myText"+i].text=mc.lastText;
mc["myText"+i].onChanged=function():Void{
if (this["myText"+this.i].text!=this.lastText) trace("Something changed...");
}
}
}
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|