Показать сообщение отдельно
Старый 03.04.2013, 16:02
Fogflasher вне форума Посмотреть профиль Отправить личное сообщение для Fogflasher Найти все сообщения от Fogflasher
  № 3  
Ответить с цитированием
Fogflasher

Регистрация: Mar 2013
Сообщений: 290
Цитата:
Сообщение от Hauts Посмотреть сообщение
У вас, похоже, ошибка в том месте, где написано "// здесь код функции"
Да, действительно!
Я, в прошлом примере, для простоты кода опустил еще вот такие строки:

Код AS3:
var j:uint = 0;
var ind2:MovieClip = parent.getChildByName("indicator2_dtx") as MovieClip;
var ind3:MovieClip = parent.getChildByName("indicator3_dtx") as MovieClip;
 
//... здесь идет код указанный в прошлый раз, а вот функция:
 
function flowbar(e:TimerEvent):void
{
 
 
		if (counter_f <= 100)
		{
 
//     		        ind2.text = String(counter_k) + "%";     //ВЫЗЫВАЕТ ОШИБКУ
//			ind3.text = String(j) + "%";                 //ВЫЗЫВАЕТ ОШИБКУ
 
			this.gotoAndStop(counter_k + j);
 
			j++;
 
			trace("j++ ", j);
			trace("counter_f ", counter_f);
 
 
 
		}
	else
		{
			counter_k = 100;
			this.gotoAndStop(counter_k);
//			ind2.text = String(counter_k) + "%";   //ВЫЗЫВАЕТ ОШИБКУ
			trace("Limit!");
		}		
 
 
 
}
То есть обращение к внешним текстовым полям как к переменным вызывает ошибку, но почему... не понимаю.

Хотя, я вообще не очень догоняю эту технику обращения к внешим объектам через такой слишком закрученный getChildbyName метод...
Должно же быть что-то проще (ладно об этом наверное лучше в отдельном посте спросить).

Причем, нет бы написать что проблема в этих полях, но идет указание на параметры таймера, который оказывается вообще не причем.

Добавлено через 28 минут
Блин, я все понял. Это же переменные типа TextField, а не MovieClip... Ой дурак.
Исправил, теперь эти строки не глючат.

Hauts, спасибо за помощь.