PDA

Просмотр полной версии : Привязать событие к времени суток


bee77
22.06.2006, 13:57
Флэш использую как дизайнер,да и то крайне редко в программирование никогда не лезла.
А тут приходится срочно сделать, а как - не знаю
а нужно вот что:
чтобы по небу плыли облака и чтобы раз в сутки наступала ночь
ну то есть привязано к реальному времени суток

попробовала переделать исходники часов, скачанные с этого сайта - не получается

Король
22.06.2006, 14:51
что именно не получается? узнать теущее время?
открываем хелп и смотрим что такое класс Date
несколько строк на английском + 25 минут экспериментов с кодом, пока не получится работающий - и все готово

bee77
22.06.2006, 15:09
Вот такой код написала, не работает

time=new Date()
hr=time.getHours()
min=time.getMinutes()
if(hr=14){gotoAndPlay(480);}
else {gotoAndPlay (1);}

Король
22.06.2006, 15:14
при твоем коде у тебя hr всенда будет равно 14 потому что ты применила операцию присваивания (синтаксис - "=") вместо операции сравнения (синтаксис - '==')

bee77
22.06.2006, 15:27
time=new Date()
hr=time.getHours()
min=time.getMinutes()
if(hr==14){gotoAndPlay(480);}
else {gotoAndPlay (1);}не работает :(

Король
22.06.2006, 15:29
time=new Date()
time = new Date();
hr = time.getHours();
min = time.getMinutes();
if (hr == 14) {
trace("1")
} else {
trace("2")
}



у меня - работает. сейчас часов как раз 14 и он выводит "1"

bee77
22.06.2006, 15:33
может, эти точки с запятой лишние?

Morozov1982
22.06.2006, 15:38
Ага, ещё и скобочи какие-то :)

Morozov1982
22.06.2006, 15:39
Всё реально написано, пробуй!!!

bee77
22.06.2006, 16:03
не работает:(((
извиняюсь за тупость, конечно....

Morozov1982
22.06.2006, 16:11
А ты trace пишешь?

Если да, то этого не надо делать, это для проверки, замениего своим gotoAnd Play'ем.

bee77
22.06.2006, 16:29
Может, в чем-то другом у меня ошибка?

Morozov1982
22.06.2006, 16:31
А как ты определяещь, что у тебя не работает?
Что-то выскакивает, или...?

bee77
22.06.2006, 16:33
ну да, про trace- то я поняла:)
кстати, пишет 2

bee77
22.06.2006, 16:38
ну да, про trace- то я поняла:)
кстати, пишет 2

bee77
22.06.2006, 16:47
Не работает - не идет и не играет с нужного мне кадра

Reijii
22.06.2006, 16:50
исходник выложи, а то долго можно так в лотерею играть (

bee77
22.06.2006, 17:07
тут все условно, конечно, просто, чтобы понять, что не так

Morozov1982
22.06.2006, 17:17
Создай новый слой, назови его Actions и в первом его ключевом кадре размести тот скрипт, который ты написал в 476 кадре

bee77
22.06.2006, 17:25
Сделала
теперь играет все время 480 кадр, независимо от того, какое время задаю в строке if (hr == 14) {gotoAndPlay (1);}
то есть, что бы не ставила вместо 14 - на 1 кадр не переходит

Morozov1982
22.06.2006, 17:29
Я не знаю в каком часовом поясе ты находишься, но введи вместо 14 то время (часы), которое сейчас в твоём часовом поясе и будет играть с 1-го кадра.

bee77
23.06.2006, 08:42
Разобралась:)
Ну естественно, я вводила то время, которое показывают мои часы в углу экрана.
А дело было вот в чем: у нас в Казахстане отменили перевод на летнее время, то есть, вместо 15 часов у нас 14. Там в настройках виндовса снимаешь галочку - летнее время - и порядок.
А флэш возвращает НЕПЕРЕВЕДЕННОЕ время! То есть, если я хочу, чтобы ролик играл в 14 часов, в коде надо писать 15.
Спасибо всем, кто помогал!

Король
23.06.2006, 11:10
вот для этого и нужен трейс - роверить хотя бы - получает ли функция то, что ты думаешь. возилась с кадрами - а оказалось что вообще вызывается не то

Morozov1982
23.06.2006, 11:54
Человек судя по всему немного не рубит, что такое trace :)

Скоро спросит: "А что сделать, чтоб не только в 14 часов срабатывало, но и в 15"

bee77
23.06.2006, 12:56
не рубит, не рубит ;)
ну после того, как попробовала, стало понятно
я вообще первый раз эти actionsы вижу, не ругайтесь :)

Morozov1982
23.06.2006, 13:38
Я это написал к тому, что тебе hr=14 надо будет заменить на hr>6&&hr<20, если хочешь в зависимости от времени суток работать (первая цифра - время рассвета, вторая - время заката)

bee77
23.06.2006, 14:37
ага, это я уже нашла...
но там еще в чем загвоздка - что должно наступать утро и вечер
у меня уже получается привязать мувик - типа - днем светло, ночью темно, а так, чтобы в 6 утра рассвет 1 раз и всё - так пока не получается:)

Morozov1982
23.06.2006, 14:39
Вообще есть масса вариантов, но можешь попробовать просто прописать в том кадре, где должна происходить остановка stop();

Это, наверное самое простое решение :)

bee77
26.06.2006, 13:11
В общем, всё получилось, спасибо большое, правда, есть одна неувязочка:)
когда просто делаю экспорт Ctrl+Enter, или делаю exe- файл - все работает нормально
когда делаю экспорт в обычный swf - работает криво
почему?