![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
![]()
Сообщение
#1
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Подскажите, пожалуйся, как во флеш сделать таймер. Так чтобы шел отсчет времени: секунды, минуты и часы.
|
|
|
![]() |
![]()
Сообщение
#2
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Assa
Чтобы сделать во флеше таймер нужно использовать объект Date. Код clock = new Date(); hour = clock.getHours(); minute = clock.getMinutes(); second = clock.getSeconds(); Про создание часов во флеше я писал во втором номере нашей рассылки в статье Создание часов с цифровым циферблатом во Flash. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#3
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Я вставил, этот код в клип, но к сожалению ничего не вышло
![]() |
|
|
![]()
Сообщение
#4
|
|
![]() C:\> ![]() ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 1604 Регистрация: 10.04.2006 Из: Млечный Путь, 3-я планета от Солнца, Россия, Московская область, Жуковский. Пользователь №: 293 ![]() |
Конечно же ничего не будет
![]() теперь покажу как из етого сделать хотябы не таймер а часы: создай динамическое текстовое поле, и назови его vivod после чего напиши код(на 1-ый кадр) : Код _root.onEnterFrame = function ()
{ var time:Date = new Date(); var second:Number = time.getSeconds(); var minute:Number = time.getMinutes(); var hour:Number = time.getHours(); vivod.text = hour + ":" + minute + "." + second; }; Сообщение отредактировал tiHo - 27.10.2006 - 16:31 -------------------- Вопрос-ответ для flash-разработчиков
С тех пор, как за Теорию Относительности принялись математики, я ее сам больше не понимаю. (с) Эйнштейн А. |
|
|
![]()
Сообщение
#5
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Цитата Я вставил, этот код в клип, но к сожалению ничего не вышло ![]() Assa Чтобы всё заработало, в случае если что-то непонятно, нужно внимательно читать нашу рассылку, где во втором номере, как я уже сказал, я детально описал создание часов во флеше (для того я и сослался на второй номер). На форуме я также ранее уже эту тему рассматривал. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#6
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Пошел читать ссылку, может пойму, а то никак не доходит
![]() |
|
|
![]()
Сообщение
#7
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Давай, Assa, почитай
![]() В рассылке я детально описал процесс создания часов с цифровым циферблатом во флеш. Также я об этой теме писал на форуме: /forum/index.php?showto...dpost&p=836 -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#8
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Часы я делать умею, ссылку читал. Единственное что я не понял это чем ваш код отличается от вот этого например:
mydate = new Date(); sec = mydate.getSeconds(); min = mydate.getMinutes(); hour = mydate.getHours(); if (sec<10) { sec = "0"+sec; } if (min<10) { min = "0"+min; } if (hour<10) { hour = "0"+hour; } time = hour add " " add min add " " add sec; И как делать отсчет времени (то что мне нужно) я так и не понял |
|
|
![]()
Сообщение
#9
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Цитата Часы я делать умею, ссылку читал. Это хорошо. Главное чтобы от информации польза была. Цитата Единственное что я не понял это чем ваш код отличается от вот этого например: Особо ничем не отличается, формирования вывода значения текущего времени - это индивидуальное дело каждого разработчика (т.е. эти отличия не существенны). Лишь обращу внимание, как это было сделано на форуме и в рассылке, а также tiHo в этой теме, что нужно код вызова объекта Date занести в блок onEnterFrame. Чтобы время обновлялось с частой ролика (fps проигрывания флешки). Цитата И как делать отсчет времени (то что мне нужно) я так и не понял Assa, под Таймером могут подразумеваться разные вещи - как "Часы", так и "Секундомер". И это различные понятия (у них различные задачи, и соотвественно их реализация). О часах я уже высказался. С таймером (секундомером) разбирайся. Ничего сложного в этом нет. Секундомер можно сделать на основе объекта Date: нужно будет в цикле onEnterFrame сравнивать текущее и предыдущее значение времени, и производить необходимые вычисления - секундомер "отнимает" (если обратный отсчёт) или "добавляет" (если с нуля считает) секунды. Можна сделать и по другому - с ипользованием setInterval (этот вариант предпочтителен - я сам именно им пользуюсь для создания секундомеров). -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#10
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Научи меня, плиззззззз, так сказать в реалтайме, в icq например.
![]() |
|
|
![]()
Сообщение
#11
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Assa
Для обучения в асе нету времени ![]() Цитата Научи меня, плиззззззз Ну а относительно создания секундоменров я вроде достаточно описал возможные подходы. Как с использованием Date, так и setInterval. Ну и хелп всегда можно почитать. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#12
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Нельзя. Знания английского языка не позволяют. Кстати, есть полностью "русский" флеш?
|
|
|
![]()
Сообщение
#13
|
|
![]() Активный участник ![]() ![]() ![]() Группа: Пользователь Сообщений: 300 Регистрация: 23.04.2006 Из: Днепропетровск, Украина Пользователь №: 317 ![]() |
Код var numOfSeconds:Number = 10;
var finalPoint:Number = (new Date()).getTime() + 1000*numOfSeconds; _root.onEnterFrame = function(){ var currentTime:Number = (new Date()).getTime(); trace(Math.round((finalPoint-currentTime)/1000)); if(finalPoint-currentTime<=0){ trace("BOOM!"); delete this.onEnterFrame; } } -------------------- прочь из моей головы |
|
|
![]()
Сообщение
#14
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Я сделал текстовое поле - 00:00:00. Туда вставил код:
Цитата Код var numOfSeconds:Number = 10; var finalPoint:Number = (new Date()).getTime() + 1000*numOfSeconds; _root.onEnterFrame = function(){ var currentTime:Number = (new Date()).getTime(); trace(Math.round((finalPoint-currentTime)/1000)); if(finalPoint-currentTime<=0){ trace("BOOM!"); delete this.onEnterFrame; } } Затем сделал второй кадр (как в электронных часах), но ничего не из этого не получилось. Может еще что нужно было написать? |
|
|
![]()
Сообщение
#15
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Assa
Код Rohan-а вставь в кадр (первый) и запусти. И всё заработает. Это для флеш 7/8, если у тебя флеш 6/мх (как на том компе за которым я сейчас сижу), то код немного видоизменится для корректной работы: Код var numOfSeconds = 10; var finalPoint = (new Date()).getTime() + 1000*numOfSeconds; _root.onEnterFrame = function(){ var currentTime = (new Date()).getTime(); trace(Math.round((finalPoint-currentTime)/1000)); if(finalPoint-currentTime<=0){ trace("BOOM!"); delete this.onEnterFrame; } } Цитата Я сделал текстовое поле - 00:00:00. Туда вставил код: Для отображения таймера не в трейсе, а в текстовой надписи сошлись на текстовую надписm в коде. Вместо trace(Math.round((finalPoint-currentTime)/1000)) - _root.textfield.text=Math.round((finalPoint-currentTime)/1000). И вместо trace("BOOM!") сделай нужное действие. Данный таймер опрашивается с частотой (fps) флеш ролика. Цитата Кстати, есть полностью "русский" флеш? Да есть перевод на русский. Как хелпа и акшон скрипт справочника, так и ливдоков. Данная тема уже неоднократно обсуждалась. В том числе я давал ссылки на сайты откуда можно скачать документацию на русском. Поиск по форуму (и поиск в Гугле) всегда помогут. -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#16
|
|
Новичок ![]() Группа: Новичок Сообщений: 8 Регистрация: 26.10.2006 Пользователь №: 1195 ![]() |
Цитата И вместо trace("BOOM!") сделай нужное действие. А какое там действие "нужное". И еще, можно объяснить как это все работает. Я вот тут код с часами разбирал: mydate = new Date(); sec = mydate.getSeconds(); min = mydate.getMinutes(); hour = mydate.getHours(); if (sec<10) { sec = "0"+sec; } if (min<10) { min = "0"+min; } if (hour<10) { hour = "0"+hour; } time = hour add " " add min add " " add sec; Так там можно убрать минуты, секунды и часы. Например сделать отсчет времени от 0 до 60 секунд. Также и минуты и часы. А нельзя как-то сделать так чтобы шел отсчет: секунды, часы, минуты, чтобы только было видно все три поля, а за основу взять этот кад |
|
|
![]()
Сообщение
#17
|
|
Ветеран конференции ![]() ![]() ![]() ![]() ![]() Группа: Flash Zone Team Сообщений: 4957 Регистрация: 10.03.2005 Из: Киев Пользователь №: 5 ![]() |
Цитата А какое там действие "нужное". Assa, здесь уж ты сам должен решить, какое действие нужное. В примере Рохана, появляется сообщение "BOOM!" (причём в трейсе, поэтому в плеере/плагине сообщения ты не увидешь, только в редакторе). Ты можешь установить вызов отдельной функции, появление текстового сообщения или объекта, переход на нужный кадр и т.д. Цитата И еще, можно объяснить как это все работает. Разбирайся, здесь ничего сложного. Цитата А нельзя как-то сделать так чтобы шел отсчет: секунды, часы, минуты, чтобы только было видно все три поля Всё можно. Как я уже сказал в коде ты должен сослаться на текстовые поля, которые ты разместишь на сцене (секунды, минуты, часы). И соответственно пойдёт отсчёт, по заданному алгоритму (секунды Рохан уже реализовал, используй их и самостоятельно реализуй минуты и часы). P.S. Я смотрю Rohan большой поклонник Math.round. Об этом мы уже с ним говорили ранее ![]() -------------------- Best wishes & regards,
MustLive Администратор сайта http://mlfun.org.ua |
|
|
![]()
Сообщение
#18
|
|
![]() Новичок ![]() Группа: Новичок Сообщений: 6 Регистрация: 10.12.2006 Пользователь №: 1872 ![]() |
Здравствуйте, помогите сделать отсчёт времени для тест программы, вроде скрипт на языке крутиться, а додумать не могу...допустим дано время 01:30:00 час тридцать минут и идёт отсчёт начиная с секунд...и так до истечения часа...помогите!!! выложите скрипт или хотябы направьте в нужное направление.
|
|
|
![]() ![]()
Сообщение
#19
|
|
![]() C:\> ![]() ![]() ![]() ![]() ![]() Группа: Супермодераторы Сообщений: 1604 Регистрация: 10.04.2006 Из: Млечный Путь, 3-я планета от Солнца, Россия, Московская область, Жуковский. Пользователь №: 293 ![]() |
[attachment=48:attachment]
/forum/index.php?act=At...=post&id=48 это конечно самый запутанный код таймера, ибо моя логика неподвластна никаму(и даже мне) ![]() Сообщение отредактировал tiHo - 10.12.2006 - 21:04 -------------------- Вопрос-ответ для flash-разработчиков
С тех пор, как за Теорию Относительности принялись математики, я ее сам больше не понимаю. (с) Эйнштейн А. |
|
|
![]()
Сообщение
#20
|
|
![]() Новичок ![]() Группа: Новичок Сообщений: 6 Регистрация: 10.12.2006 Пользователь №: 1872 ![]() |
я почему то не могу пройти по этой ссылке( ....может тут выложишь
|
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 1.08.2014 - 04:33 |