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

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

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

Регистрация: May 2006
Сообщений: 6
Отправить сообщение для Velaskes с помощью ICQ Отправить сообщение для Velaskes с помощью MSN
По умолчанию Обновление текста во время выполнения цикла

Проблема (не ругайтесь - новенький):
Есть текстовое поле, обозначеное переменной (freq_txt), есть начальное значение этой переменной.
Есть кнопка, которая запускает цикл увеличения этого значения на шаг, с задержкой в 10 милисекунд, до конечного значения.

on (press) {
a=getTimer();
for (i=freq; i<end_freq-st; i=j) {
if (j == undefined) j = freq;
if (getTimer() - a > 5) {
j = j+st;
freq+=st;
freq_txt=freq;
a = getTimer();

}
}

Как сделать, чтобы значение поля текста обновлялось во время выполнения цикла???
Заранее спасибо

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

Регистрация: Jun 2005
Адрес: в Питере
Сообщений: 981
Нужно в тело цикла поместить оператор присваивания my_txt=newVar, и сделать так, чтобы newVar обновлялось, а у тебя что-то странное написано, попробуй в тело цикла вставь trace(freq) и протестируй клип, увидишь что получается.
__________________
Делай всё быстро, но не торопись!.._/*o|o*\_.

Старый 13.05.2006, 18:42
Velaskes вне форума Посмотреть профиль Отправить личное сообщение для Velaskes Найти все сообщения от Velaskes
  № 3  
Ответить с цитированием
Velaskes

Регистрация: May 2006
Сообщений: 6
Отправить сообщение для Velaskes с помощью ICQ Отправить сообщение для Velaskes с помощью MSN
Да, понимаешь, когда я делаю trace - все получается. После завершения цикла мне выдает столбец со значениями. А мне надо ВО ВРЕМЯ выполнения... Как обновлять переменную?

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

Регистрация: Jun 2005
Адрес: в Питере
Сообщений: 981
Значит все обновляется во время цикла, просто если тебе выдается столбец сразу, значит с такой же скоростью и происходит обновление, с какой формируется каждое поле столбца, то есть твоя задержка не работает, и все происходит быстро, что не успеваешь заметить. Еще сделай трэйс своей переменной, может быть флэш не может ее найти из цикла, и ему надо подробнее написать к ней путь.
__________________
Делай всё быстро, но не торопись!.._/*o|o*\_.

Старый 13.05.2006, 18:52
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 5  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
тема перенесенна в раздел для новеньких
Velaskes устное предупреждение, за не использование тэгов [ code ]
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 13.05.2006, 18:58
Velaskes вне форума Посмотреть профиль Отправить личное сообщение для Velaskes Найти все сообщения от Velaskes
  № 6  
Ответить с цитированием
Velaskes

Регистрация: May 2006
Сообщений: 6
Отправить сообщение для Velaskes с помощью ICQ Отправить сообщение для Velaskes с помощью MSN
Задержка работает 100 пудов (я могу менять ее значение, от этого зависит скорость выполнения цикла). Даже если я в цикле ставлю trace(freq) у меня после раздумий сразу выдает окошко Output и столбец цифр. Может быть просто задержка неправильная? Если есть идеи - подскажи плиз!

Старый 13.05.2006, 18:58
Madasan вне форума Посмотреть профиль Отправить личное сообщение для Madasan Найти все сообщения от Madasan
  № 7  
Ответить с цитированием
Madasan
 
Аватар для Madasan

Регистрация: Jun 2005
Адрес: в Питере
Сообщений: 981
Код:
_root.createTextField('myTxt', 10, 50, 50, 100, 20);
n = 0;
myButton.onPress = function() {
	a = getTimer()+1000;
	_root.onEnterFrame = function() {
		if (a<getTimer()) {
			myTxt.text = n;
			n++;
			_root.onEnterFrame = null;
		}
	};
};
__________________
Делай всё быстро, но не торопись!.._/*o|o*\_.

Старый 13.05.2006, 19:04
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 8  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Ну, с onEnterFrame вариант далеко не идеальный:
Код:
var start:Number = 0;
var max:Number = 100;
var inter:Number;
function Update()
{
    if(start == max)
    {
        clearInterval(inter);
        return;
    }
    freq_txt.text = (++start).toString();
    updateAfterEvent(); //Принудительное обновление
}

inter = setInterval(Update, 10);
__________________
Всё гениальное просто.


Последний раз редактировалось Homo Sapiens; 13.05.2006 в 19:09.
Старый 13.05.2006, 19:17
Velaskes вне форума Посмотреть профиль Отправить личное сообщение для Velaskes Найти все сообщения от Velaskes
  № 9  
Ответить с цитированием
Velaskes

Регистрация: May 2006
Сообщений: 6
Отправить сообщение для Velaskes с помощью ICQ Отправить сообщение для Velaskes с помощью MSN
ВО! Вот это работает!

Старый 13.05.2006, 19:26
Velaskes вне форума Посмотреть профиль Отправить личное сообщение для Velaskes Найти все сообщения от Velaskes
  № 10  
Ответить с цитированием
Velaskes

Регистрация: May 2006
Сообщений: 6
Отправить сообщение для Velaskes с помощью ICQ Отправить сообщение для Velaskes с помощью MSN
Спасибо!
Будут еще вопросы, вы не против?

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

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

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


 


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


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