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

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

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

Регистрация: Feb 2009
Сообщений: 5
The bomb! не могу зациклить флешку

Привет, народ!

Делаю баннер.

На самом деле я HTML-кодер, с ActionScript столкнулся впервые вот буквально неделю назад.

Короче, забираю данные из файла, вида (файл vars.htm):
Код:
myVar01=текст сообщенияAAAвторой текст сообщенияAAAну и конечно третий&myVar02=AAA&myVar03=2
Где, myVar01 - тексты баннера, myVar02 - некий разделитель текстов, myVar03 - время показа очередного текста


код выглядит так:
Код AS1/AS2:
var data_lv:LoadVars = new LoadVars ();
data_lv.load("vars.htm");
 
data_lv.onLoad =  function() { 
	var texts:Array = this.myVar01.split(this.myVar02);
	var delay:Number = this.myVar03*1000;
	var count:Number = 0;
	setInterval(createTxt,delay,this);
 
	function createTxt(){
		trace("texts[" + count.toString() + "] = " + texts[count].toString()); //данные
 
		createTextField(texts[count],count,0,0,550,100);
		var w = eval(texts[count]);
		w.text = texts[count];
		w.background = "#FFF;"
		count++;
		trace(count); //count
		if(count >= texts.length){
			count = 0;
		}
	}
}
А проблема в том, что когда я нажимаю Ctrl+Enter -> компилируется флешка и показывает только один проход по массиву с фразами (с указанной задержкой между фразами), НО в окне Output, трейс показывает что проход продолжается, что мне собственно и надо!

Т.е. мне надо, чтобы флешка бесконечно показывала по-очереди фразы из массива texts, а она один раз как бы отрабатывает и все.. попробуйте проверить этот код во флеше?

Я не знаю какими словами объяснить ну не специалист я пока еще во флеше!... Помогите пожалуйста разобраться!

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

Регистрация: Jan 2009
Адрес: Одесса
Сообщений: 309
Отправить сообщение для Fatality с помощью ICQ
Код AS1/AS2:
var data_lv:LoadVars = new LoadVars();
data_lv.load("vars.htm");
data_lv.onLoad = function()
{
	var texts:Array = this.myVar01.split(this.myVar02);
	var delay:Number = this.myVar03*1000;
	var count:Number = 0;
	_root.createTextField("w",0,0,0,550,100);
	setInterval(createTxt,delay,this);
	function createTxt()
	{
		trace("texts["+count+"] = "+texts[count]);
		w.text = texts[count];
		w.background = "#FFF;";
		count++;
		trace(count);
		if (count>=texts.length)
		{
			count = 0;
		}
	}
};
Во-первых, зачем каждый раз создавать новое текстовое поле, да еще и с именем типа "текст сообщения" и т.п. Достаточно создать его 1 раз и менять текст каждый. Во-вторых, преобразовывать число в строку в трейсе, нет никакой необходимости, элемент массива text[count] тоже, он и так строка ! С eval-ом тоже бред, но это я так понимаю издержки использования все тех же имен типа "текст сообщения".


Последний раз редактировалось Fatality; 09.02.2009 в 00:31.
Старый 09.02.2009, 01:39
soldatoff вне форума Посмотреть профиль Отправить личное сообщение для soldatoff Найти все сообщения от soldatoff
  № 3  
Ответить с цитированием
soldatoff
 
Аватар для soldatoff

Регистрация: Feb 2009
Сообщений: 5
2 Fatality:

Спасибо огромное!!!

Вы меня спасли!

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:03.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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