Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Помогите разобраться с кодом:серверное время (http://www.flasher.ru/forum/showthread.php?t=77392)

crazyone 06.11.2007 15:12

Как по мне - код вобще бессмысленен. Всмысле - сплошная ошибка.

Если просто вывести текущее время на сервере:

Код:

var tf=_root.createTextField("tf",_root.getNextHighestDepth(),10,10,300,20);
var my_lv:LoadVars=new LoadVars();
my_lv.load("myscript.php");
my_lv.onLoad=function(success){
        if(success){
                tf.text=dd(this.myhour)+":"+dd(this.mymin)+":"+dd(this.mysec);
        }else{
                tf.text="Не удается загрузить время с сервера.";
        }
}
function dd(n){
        return (n<10)?"0"+n:n;
}

Если нужно обновлять показания часов, можно просто синхронизировать время от времени с сервером, поставив интервал
Код:

setInterval(my_lv,"load",1000);
Но это будет жрать лишний трафик и вобще - тупо =)

Поэтому меняем код до такого:

Код:

var dms:Number;
var tf=_root.createTextField("tf",_root.getNextHighestDepth(),10,10,300,20);
var my_lv:LoadVars=new LoadVars();
my_lv.load("myscript.php");
my_lv.onLoad=function(success){
        if(success){
                var mydate=new Date(0,0,0,this.myhour,this.mymin,this.mysec);
                var localdate=new Date;
                dms=mydate.getTime()-localdate.getTime();
                updateDate();
                setInterval(updateDate,1000);
        }else{
                tf.text="Не удается загрузить время с сервера.";
        }
}
function dd(n){
        return (n<10)?"0"+n:n;
}
function updateDate(){
        var localdate=new Date();
        localdate=new Date(localdate.getTime()+dms);
        tf.text=dd(localdate.getHours())+":"+dd(localdate.getMinutes())+":"+dd(localdate.getSeconds());
}

Что будет обновлять показания таймера раз в секунду, в зависимости от того - какое время вернул пхп скрипт.

zlibeg 09.11.2007 18:12

а как это будет работать для аналоговых часов?

zlibeg 12.11.2007 13:51

посмотрите плз код, не могу понять в чём может быть проблема!

PHP скрипт
Код:

<?

$myhours = date("G");
$myminutes = date("i");
$myseconds = date("s");

echo "&hours=".$myhours."&minutes=".$myminutes."&seconds=".$myseconds;
?>

actionscript
Код:

var
my_lv:LoadVars=new LoadVars();
my_lv.load("myscript.php");
my_lv.onLoad=function(success){
        if(success){
                var mydate=new Date(this.hours,this.minutes,this.seconds);
                var localdate=new Date;
        }else{
                trace("Не удается загрузить время с сервера");
        }
}
hours = my_lv.hours();
minutes = my_lv.minutes();
seconds = my_lv.seconds();
hours = hours*30+int(minutes/2);
minutes = minutes*6+int(seconds/10);
seconds = seconds*6;


zlibeg 12.11.2007 15:30

Вложений: 1
посмотрите пожалуйста файл, очень срочно нужно!
спасибо!

Acxat 07.06.2010 10:48

Выложите пожалуйста исходник


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

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