Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.06.2008, 17:19
Aminako вне форума Посмотреть профиль Отправить личное сообщение для Aminako Найти все сообщения от Aminako
  № 1  
Ответить с цитированием
Aminako

Регистрация: Jun 2008
Сообщений: 5
По умолчанию TextInput как программно определить изменение текста

Извените если я повторяю вопрос, но я не смогла найти то что ищу. Поэтому решила задать вопрос.

Суть проблемы в том что есть четыри поля TextInput инужно определить введоно что-то в них или нет что б разблокировать кнопку перехода на следующий кадр.

Пыталась сделать через функцию onChanged, но функция не вызывается... сейчас пытаюсь сдеать постоянную обработку но на выходе HTML формат :-(
подскажите как можно на скрипте избавиться от HTML формата или как заставить работать onChanged

Еще раз извините если повторяюсь или задаю глупый вопрос.

Старый 29.06.2008, 10:06
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 2  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Здравствуйте Aminako!

Цитата:
Пыталась сделать через функцию onChanged, но функция не вызывается
Пожалуйста выложите текст "попытки". Мы лучше поправим Ваш код, а потом объясним почему он не работал. Так будет лучше для глубины понимания проблемы и ее решения.
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 29.06.2008, 18:57
3d Developer вне форума Посмотреть профиль Найти все сообщения от 3d Developer
  № 3  
Ответить с цитированием
3d Developer
Banned
[+1 02.07.08]
[+3 02.07.08]

Регистрация: Jul 2007
Сообщений: 52
if (_loc1.text =="" && _loc2.text =="" && _loc3.text =="" && _loc4.text =="") { твое действие} Думаем проще )))

Старый 29.06.2008, 19:01
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 4  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
3d Developer! А в каком обработчике, извините, Вы собираетесь это проверять?
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 29.06.2008, 19:09
3d Developer вне форума Посмотреть профиль Найти все сообщения от 3d Developer
  № 5  
Ответить с цитированием
3d Developer
Banned
[+1 02.07.08]
[+3 02.07.08]

Регистрация: Jul 2007
Сообщений: 52
А зачем проверять когда код сам проверит ? я не понял вопроса реально! что ты хотел сказать этим ))) Вопрос вроде стоял так типа если все поля пустые то играет кнопка такое же ей надо было ? ) ну так я и ответил на вопрос )

Старый 29.06.2008, 19:41
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 6  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Все верно! Ваш код правильный. Только вот есть один ньюанс. Я расскажу.

Вот смотрите. Вы - пользователь. Вы открываете сайт - перед Вами 4 пустых текстовых поля и тут же кнопка перехода деактивируется - кодовый поток прошел. Вы вводите значения в поля. Как же снова спросить Флеш о том, пустые эти поля или нет. А выход только в наступлении события onChange или же в цикле onEneterFrame проверять эти поля на пустоту, что собственно расточительно по отношению к ресурсам.
__________________
Случайность, господа, это знаете ли непознанная необходимость.

Старый 29.06.2008, 19:54
3d Developer вне форума Посмотреть профиль Найти все сообщения от 3d Developer
  № 7  
Ответить с цитированием
3d Developer
Banned
[+1 02.07.08]
[+3 02.07.08]

Регистрация: Jul 2007
Сообщений: 52
OnEnterFrame в помощь ))) или же 3х кадровый перебор первый код второй gotoAndPlay(1);

Старый 30.06.2008, 12:30
Alex_beginner вне форума Посмотреть профиль Отправить личное сообщение для Alex_beginner Найти все сообщения от Alex_beginner
  № 8  
Ответить с цитированием
Alex_beginner
 
Аватар для Alex_beginner

Регистрация: May 2008
Сообщений: 476
Зачем onEnterFrame - расточительное дело. Лучше onChanged, только вот неясно почему код Aminako неработает - мы код невидели. Как то абстрактно приходится гадать, что произошло.

В общем случае обработчик onChanged выглядит так:

Код:
pole.onChanged = function():Void {
trace(this.text);//При изменении значения поля выведет введеный текст
};
Цитата:
или же 3х кадровый перебор первый код второй gotoAndPlay(1);
Вот это сказано очень остроумно. Примерно как в анекдоте: "Ты ты и ты, Вы оба выполняйте приказ".
Вообще то хорошим стилем программирования считается написание кода в одном кадре - втором, а в первом обычно реализуют предзагрузчик, если таковой имеется.
__________________
Случайность, господа, это знаете ли непознанная необходимость.


Последний раз редактировалось Alex_beginner; 30.06.2008 в 12:43.
Старый 30.06.2008, 13:14
3d Developer вне форума Посмотреть профиль Найти все сообщения от 3d Developer
  № 9  
Ответить с цитированием
3d Developer
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го будет постоянно выполнятся.

Старый 30.06.2008, 13:43
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 10  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
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...");
	}
}
	}
Ставим фпс где нить 60... Тормозит drag? Да? А почему?
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, время: 15:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.