![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте, участники форума.
Столкнулся с задачей, решения найти не могу: Есть flash-счетчик. Он якобы считает посетителей на сайте. На самом деле происходит это посредством вытягивания переменной из текстового файла и показа ее в виде Dynamic text. Для того, чтобы обновление происходило каждые 5 секунд, а не только при перезагрузке страницы сделано 5 кадров длительностью 1 сек. каждый. В первом кадре код, который вытягивает переменную. Поскольку .swf зациклен, каждые 5 секунд код заново вытягивается и показывается. Способ, конечно, деревянный, но все прекрасно работает и я доволен. А теперь сама задача: Мне очень надо, чтобы при изменении переменной проигрывался определенный Movie Clip. Но сама переменная изменяется значительно реже, чем .swf ее обновляет. Т. е. проигрывать Movie Clip после каждого обновления нельзя. Надо, чтобы флеш каким-то образом определял, изменилась переменная или нет и, если изменилась, запускал Movie Clip. Буду очень благодарен как за конкретное решение задачи, так и за совет, где найти. Под рукой оба тома Библии пользователя, но проблема в том, что я даже не знаю, в каком из разделов искать. Заранее спасибо и... простите ламера (надо себе эту фразу уже в подпись поставить).P. S. Flash MX 2004 Pro |
|
|||||
|
В 5-ом кадре ставишь
В первом кадре ставишь после вытягивания переменной if (твоя_переменная!=old) {
//здесь действия которые хочешь чтобы были после изменения счетчика
}
я бы тебе для такого просчета посоветовал использовать или onEnterFrame или setInterval. |
|
|||||
|
Неа, не функционирует
![]() А как правильно записать переменную today? Я pаписал вот так: if (this.today != old)
__________________
Простите ламера :( |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
function idChange (prop, oldVal, newVal) {
trace("было "+ oldVal + " стало " + newVal );
if( oldVal == newVal) return oldVal;
trace (" обновилась");
return newVal;
}
// ставим "id" под контроль:
this.watch ( "id", idChange );
// а теперь каждый кадр сажаем id, каждый 25-й раз он поменяется
// это просто для примера
var num:Number = 0;
this.onEnterFrame = function () {
num++;
id = Math.floor( num / 25 );
};
И почему 55? Последний раз редактировалось Kikasso; 11.05.2007 в 12:35. |
|
|||||
|
Цитата:
![]() Первый совет был хоть как-то доступен моему абсолютно гуманитарному разуму, а здесь я совсем запутался.
__________________
Простите ламера :( |
|
|||||
|
Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
|
Я снабдил комментами. Посмотрите в хелпе про watch. Это очень полезная штука.
|
|
|||||
|
2 Kikasso: Чтобы хелп читать, надо, как минимум, английский знать
. А за комментарии большое спасибо, но они мне, к сожалению, ровным счетом ничего не говорят. Во всем этом безобразии я понимаю только суть: при помощи кода из текстового файла вытягивается переменная, и транслируется в текстовое поле в виде динамического текста. В какой-то момент другой код проверяет изменилась ли со времени последнего обновления переменная. И, если изменилась, запускает Movie Clip.Фраза «// ставим "id" под контроль:» мне совершенно непонятна, потому что непонятно что этот самый id идентифицирует и зачем это вообще в данном случае нужно ![]() Когда я создавал тему, то ожидал, что всё окажется проще, но, как всегда в таких случаях, ошибся.
__________________
Простите ламера :( |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|