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

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

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

Регистрация: Feb 2007
Сообщений: 19
По умолчанию Мигание фона динамического текстового поля трижды

Как сделать мигание фона динамического текстового поля (т.е. изменение его цвета с ч. на б. трижды с интервалом примерно в 1 сек) программным способом?

Старый 09.04.2007, 16:59
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
var txt:TextField = this.createTextField ("txt", 0, 100, 100, 100, 20);
txt.text = "цвет";
txt.backgroundColor = 0x0;
txt.background = true;
function changeColor ():Void {
	txt.background = !txt.background;
}
setInterval(this, "changeColor", 500);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 10.04.2007, 14:50
Loobtuff вне форума Посмотреть профиль Отправить личное сообщение для Loobtuff Найти все сообщения от Loobtuff
  № 3  
Ответить с цитированием
Loobtuff

Регистрация: Feb 2007
Сообщений: 19
По умолчанию не могу остановить ф-ю setInterval

INils, вобщем, ситуация такова:
Необходимо было трижды поменять фон ДТП (ниже я меняю жёлтый фон на белый). Вот код, который превосходно работает в отдельном swf - файле:
Код:
var ii=0;
var meine_time:Number=setInterval(changeColor,100);
function changeColor ():Void {
	txt.background = !txt.background;
	ii++;//trace(ii);
	if (ii>=5) {
	clearInterval(meine_time);
	trace(ii);
	}
}
но стоит мне его скопировать в мой проект (переменные все уникальны!), как функция clearInterval(meine_time) - перестаёт работать в то время как trace(ii) - выдаёт значения 6,7,8,9.............
Есть к-либо мысли по этому поводу??


Последний раз редактировалось iNils; 10.04.2007 в 15:20.
Старый 10.04.2007, 15:00
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 4  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Попробуй так, костыль конечно:
Код:
var ii=0;
var meine_time:Number=setInterval(changeColor,100,meine_time);
function changeColor (meine_time):Void {
txt.background = !txt.background;
ii++;//trace(ii);
if (ii>=5) {
clearInterval(meine_time);
trace(ii);
}
}

Старый 10.04.2007, 15:07
Loobtuff вне форума Посмотреть профиль Отправить личное сообщение для Loobtuff Найти все сообщения от Loobtuff
  № 5  
Ответить с цитированием
Loobtuff

Регистрация: Feb 2007
Сообщений: 19
Так не помогает, всё-равно мигает и мигает и не останавливается!
Ноооо, интересный факт:
Делаю кнопку не основной временной диаграмме, вешаю на неё код:
Код:
on (press) {
	clearInterval(meine_time);
}
И нажатие на эту кнопку превосходно останавливает мигание...
Если честно, я немного удивлён.
Но пишите всё что вы думаете, плис!


Последний раз редактировалось iNils; 10.04.2007 в 15:20.
Старый 10.04.2007, 15:17
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 6  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
а так?
Код:
var ii=0;
var meine_time:Number;
function changeColor ():Void {
txt.background = !txt.background;
ii++;//trace(ii);
if (ii>=5) {
clearInterval(meine_time);
trace(ii);
}
}
meine_time = setInterval(changeColor,100);
stop();

Старый 10.04.2007, 15:25
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
1. В моем нике первая буква строчная, а не прописная
2. Для оформления своего кода, надо использовать теги [code][/code], а на теги цитирования [quote][/quote].
3. Сделаейт не рабочий пример и выложите. Поймать ошибку без понимания структуры вашего swf, не всегда возможно.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 10.04.2007, 15:57
Loobtuff вне форума Посмотреть профиль Отправить личное сообщение для Loobtuff Найти все сообщения от Loobtuff
  № 8  
Ответить с цитированием
Loobtuff

Регистрация: Feb 2007
Сообщений: 19
Привести весь исходный код будет пожалуй затруднительно из-за его большого размера, но могу предложить фрагмент, касающейся именно данной проблемы:
Код:
else {
          for (var flash_ii=0;flash_ii<arr_swapDepth.length;flash_ii++) {
	     eval("Feld"+"_"+arr_swapDepth[flash_ii]).background=true;
             eval("Feld"+"_"+arr_swapDepth[flash_ii]).backgroundColor=0xFFFF33;//цвет заднего фона жёлтый
          }
	var ii=0;
	var meine_time:Number=setInterval(flash_function,100);
	
}// end else

// в этом же кадре, но в соседнем слое (в слое функций)

function flash_function():Void {
    for (var flash_i=0;flash_i<arr_swapDepth.length;flash_i++) {
        eval("Feld"+"_"+arr_swapDepth[flash_i]).background=!eval("Feld"+"_"+arr_swapDepth[flash_i]).background;
    }
  ii++;
   if (ii>=5) {
     clearInterval(meine_time);
     trace(ii);// выводит 6,7,8,9..................
	             }
   }
}

// arr_swapDepth.length - это количество полей, которые должны мигать (9 полей)
Возможно, существуют какие-то особенности применения функций
setInterval и clearInterval, конорые мало освещены в литературе, но меня болше всего поражает работа той кнопки (о которой писал выше), с аналогичным кодом, что и в педложении if моей проги!!

Старый 10.04.2007, 17:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
И что этот код даст? Я его скопирую и он работать не будет.
И не надо текстовое поле называть «ДТП», у меня другие ассоциации с этой аббревиатурой, равно как и у других участников форума.

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Положи весть код в одно место, проблема сама исчезнет.

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

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

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


 


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


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