![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Sep 2008
Сообщений: 21
|
Всем доброго времени суток
Появилась потребность в аналоговых часах к сожеленью я не оченб хорошо разбираю в AS но некоторые вещи понимаю благодаря теме прочитанной на этом форуме я сделал аналоговые часы осталось только задать как я понимаю первоначальную точку отчета я начал размышлять и вот к чему пришел нам необходимо: Файл php который создает переменные времени и передает их swf Файл swf в 3 кадра 1 кадр : принимаем данные от php 2 кадр : тут сами часы точнее +1 секунда (а лучше милисекунда) 3 кадр : перенаправляет на 2 кадр как я собрался это осуществлять: php:
AS 1 _root.loadVariables("index.php",GET); myDate = new Date(); myDate.setHours(hour); myDate.setMinutes(minute); myDate.setSeconds(second); var ticer:Number; function tic():Void { hour = myDate.getHours(); min = myDate.getMinutes(); sec = myDate.getSeconds(); var d:Date = new Date(); sec._rotation = sec.text * 6 + d.getMilliseconds()/160 + 180; min._rotation = min.text * 6 + sec.text()/10+180; hour._rotation = hour.text * 30 + min.text/2+180; } ticer = setInterval(tic,1); ТУТ goto к второму кадру Я хочу увидеть ответы как это лучше реализовать может быть это возможно сделать в один кадр или может я чтото напутал вообщем жду вашей помощи Спасибо! |
|
|||||
|
Смешно как то написали про АS1 ... 3 так вообще то версии языков называются_)))
По теме. Бедлам. Пишется все в одном кадре. Использовать LoadVars вопервых. Затем сделать коллбек на загрузку, после чего включить часы, и обновлять. Да и кстати пхп не нужен для создания ( если конечно не будет предложено пользователю выбирать точку отсчета САМОСТОЯТЕЛЬНО и каждый раз новую). В другом случаем можено xml или вообще txt |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 21
|
Так я не понял немного
что за коллбек? тоесть я оставляю php как есть а в AS пишу примерно следующее _root.LoadVars("index.php",GET); myDate = new Date(); myDate.setHours(hour); myDate.setMinutes(minute); myDate.setSeconds(second); var ticer:Number; function tic():Void { var d:Date = new Date(); sec._rotation = d.getSeconds() * 6 + d.getMilliseconds()/160 + 180; min._rotation = d.getMinutes() * 6 + d.getSeconds()/10+180; hour._rotation = d.getHours() * 30 + d.getMinutes()/2+180; } ticer = setInterval(tic,1); Я понимаю что сейчас в AS написан бред мне просто надо знать куда засунуть коллбэг и как его прописать |
|
|||||
|
))) Смешной ты. Пишешь всякую ерунду.
var lv:LoadVars var sl:LoadVars function createTimer() { lv= new LoadVars();//получатель sl= new LoadVars();// отправитель sl.protect = 'protected'; sl.sendAndLoad('index.php',lv,'POST'); // если ниче не отправляешь то отправителя не надо и сипользовать метод load lv.onLoad = mx.utils.Delegate.create(this,timeStart); } function timeStart() { delete lv.onLoad; // далее впихиваем свои переменные и запускаем часы по своему интервалу, только интервал = 1000 а не 1 как у тебя. } createTimer(); |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 21
|
Я всеравно непонял=(
На теории: Мы в php приписываем 3 переменные на сколько я понял это делается так и во флеше мы должны получить hour равная 10 minute равная 10 second равная 10 дальше во Flash мы должны это получить для этого пишем вот это var lv:LoadVars var sl:LoadVars function createTimer() { lv= new LoadVars();//получатель sl= new LoadVars();// отправитель sl.protect = 'protected'; sl.sendAndLoad('index.php',lv,'POST'); // если ниче не отправляешь то отправителя не надо и сипользовать метод load lv.onLoad = mx.utils.Delegate.create(this,timeStart); } а вот дальше как я не могу понять тоесть мы должны прописать дату с которой часы тикать начнут после чего запустить часы |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|