![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2008
Сообщений: 5
|
Флеш может отобразить только время клиента. Но мне нужно во флеш точное время (время на моем сервере). Создаю мувик, в нем динамическое текстовое поле. Пишу в нем as:
Цитата:
Цитата:
Загрузил флешку и пхпшку на хост, специально сбил у себя на компе время. Но флешка всеравно показывает время клиента(меня) Что я сделал не так? Заранее спасибо ![]() |
|
|||||
|
блин что тут можно сказать, наверно ты просто береш только свое врямя))
блин trace тебе в помощь, поизучай посмотри что приходит а что нет, что обрабатывается а что нет... |
|
|||||
|
Modus ponens
|
А как ваш скрипт в АС связан с тем, что вы передаете из ПХП? =/ Кроме того, АС3 хоть и не строго типизированый язык, принято все-таки типизировать переменные. По крайней мере компилятор вам об этом тоже напомнит.
__________________
Hell is the possibility of sanity |
|
|||||
|
Это что-то такое...
Вот так надо <?php
//определение времени
$result_time = date("d.m.Y H:i");
//типа 07.09.3014 08:50
echo 'dn_time='.$result_time; //вывод в браузер (флешка, можно и в Opera IE7 и т.д.)
?>
var txt:TextField = new TextField();
txt.text = "hello";
txt.autoSize = TextFieldAutoSize.LEFT;
addChild(txt);//добавить на рабочее поле
txt.scaleX = txt.scaleY = 4;
var url:String = "http://www.dnadillo.dn.ua/fla/dn-time.php?t="+new Date().getTime();
//?t="+new Date().getTime(); - это чтоб рнр файл не кешировался
var request:URLRequest = new URLRequest(url);
var loader:URLLoader = new URLLoader();
configureListeners(loader);
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
function completeHandler(event:Event):void {
var loader2:URLLoader = URLLoader(event.target);
var variables:URLVariables = new URLVariables(loader2.data);
trace(variables.dn_time);
txt.text='Время сайта \n http://www.dnadillo.dn.ua/\n'+variables.dn_time;
}
Последний раз редактировалось Alex Lexcuk; 22.09.2008 в 11:48. |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 5
|
Ладно. Буду тогда сам доводить. trace мне в помощь
wvxvw, переменную передаю Цитата:
|
|
|||||
|
Modus ponens
|
Если вы имели в виду var stn, то ничего вы не передаете, эта переменная никак не связана с тем, что вы передали флешу.
В примере выше время не будет статичное. Но будет погрешность связаная с тем, что данные с сервера не прийдут моментально. Но избежать ее в целом вообще не получится, т.как вы не сможете получить информацию о том, сколько времени запрос добирался до сервера и обратно. Чтобы прочитать параметр переданый флешу читаем тут: http://livedocs.adobe.com/flash/9.0/...tml#parameters
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 20
|
если это сильно критично то лучше использовать какие нибуть сокеты, а так ты всеравно точное время не получишь (задержка запроса, задержка загрузки флеша или еще чтонибуть)
__________________
90% проблем решаются сами собой, а 10% попросту неразрешимы |
|
|||||
|
Регистрация: Sep 2008
Сообщений: 5
|
С передачей переменных все работает. Не первый раз такой способ использую. В этом случае даже на видимом поле проверял. Насчет погрешности - не страшно, +-минута думаю тормозить не будет. Все таки именно с моим кодом можно что-нибудь сделать?
(Забыл сказать, что в as я ламер) Я тот ме совсем понимаю. Я кстати его малесь поменял. Проблема была в том, что я перепутал синтаксис с js . В итоге:client = new Date();
var stn = 1222028792000;
/*временно значение вставил,чтоб проверять при публикации проще было*/
help.text = client.getTime();//help - динамическое поле (тоже пока временное)
mydate = new Date();
function clock() {
var raznica = stn - client.getTime();
mydate.setTime(client.getTime()+raznica);
help2.text = mydate.getTime();//help2 -тоже динамическое поле (временное)
min = mydate.getMinutes();
hour = mydate.getHours();
if (min < 10)
{
min = "0" + min;
}
if (hour < 10)
{
hour = "0" + hour;
} // end if
clockdisplay.text = hour+" : "+min;// собственно поле со временем
}
setInterval(clock,1000);
|
|
|||||
var txt:TextField = new TextField();
txt.text = "hello";
txt.autoSize = TextFieldAutoSize.LEFT;
addChild(txt);//добавить на рабочее поле
txt.scaleX = txt.scaleY = 3;
var loc_data:Date = new Date();
var break_data:Date = new Date();
var cor:uint;
var myTimer:Timer;
myTimer = new Timer(1000);
myTimer.addEventListener("timer", timerHandler);
var url:String = "http://www.dnadillo.dn.ua/fla/dn-time.php?t="+loc_data.getTime();
//?t="+new Date().getTime(); - это чтоб рнр файл не кешировался
var request:URLRequest = new URLRequest(url);
var loader:URLLoader = new URLLoader();
configureListeners(loader);
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
function completeHandler(event:Event):void {
var loader2:URLLoader = URLLoader(event.target);
var variables:URLVariables = new URLVariables(loader2.data);
trace("Время Сайта "+variables.dn_time);
trace("Время Компа "+loc_data.getTime());
cor = loc_data.getTime() - Number(variables.dn_time)*1000;
trace(uint(break_data.hours)+":"+uint(break_data.minutes));
myTimer.start();
}
function timerHandler(event:TimerEvent) {
break_data.setTime(loc_data.getTime() - cor);
txt.text='Время сайта \n http://www.dnadillo.dn.ua/\n'+break_data.hours+":"+break_data.minutes;
txt.text=txt.text+'\nВремя КОМПА '+loc_data.getHours()+":"+loc_data.getMinutes();
}
/*<?php
//определение времени
$result_time = time();
//типа 1222084214
echo 'dn_time='.$result_time; //вывод в браузер (флешка, можно и в Opera IE7 и т.д.)
?>
*/
Последний раз редактировалось Alex Lexcuk; 22.09.2008 в 17:20. |
|
|||||
|
Modus ponens
|
>> С передачей переменных все работает.
В том виде, в котором это у вас сейчас - в принципе не может работать в АС3. Либо вы запостили не в тот раздел (нужно было в АС2), либо, запостили не тот код.
__________________
Hell is the possibility of sanity |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:07. |
|
|
« Предыдущая тема | Следующая тема » |
|
|