Programación Web y Scripting > Flash / ActionScript

 Cuenta Atras En Flash Con La Hora Del Servidor

(1/2) > >>

juanram:
Hola a todos, tengo un problema, tengo el codigo siguiente en flash, pero como podeis imaginar me coge la hora que tenga cada uno en su ordenador, lo cual es una faena porque es una cuenta atras que anuncia la finalizacion de un evento concreto, y el que esté en canarias pensará que todavía sigue el evento cuando en realidad ya terminó, no se si me explico. Hay alguna manera de cambiar el codigo para que funcione con la hora del servidor?, para que el evento acabe al mismo tiempo para todos?. Os dejo el código, gracias de antemano por vuestro tiempo, que me estoy volviendo loco con este tema.

Código:

--- Código: Text ---var mascero:Function = function (n:Number):String{return n<10?'0'+n:n;}var fecha_limite:Date = new Date(2007,4,4,23,59,59);this.onEnterFrame = function(){   var fecha_actual:Date = new Date();   var falta:Number = (fecha_limite.getTime() - fecha_actual.getTime())/10;      if(falta > 0){      var d:Number = Math.floor(falta/8640000);      var h:Number = Math.floor((falta%8640000)/360000);      var m:Number = Math.floor((falta%360000)/6000);      var s:Number = Math.floor((falta%6000)/100);      falta1_txt.text = mascero(d)+'d : '+mascero(h)+'h : '+mascero(m)+'m : '+mascero(s)+'s';   }else{      falta1_txt.text = 'evento finalizado';      delete this.onEnterFrame;   }}stop(); 

dragnus:
Para q tome la hora del server debes tener una pagina .php, o aspx o asp en fin....
de ahi tomas la hora al server y lo envias al swf con la fecha q real del server :D

juanram:
en el php tengo esto puesto

--- Código: Text ---<?phpecho "time=" . time();?> 
y en el flash al final añadi lo siguiente

--- Código: Text ---server.load("gettime.php"); counter._visible = false; 
quedandome así

--- Código: Text --- var mascero:Function = function (n:Number):String{return n<10?'0'+n:n;}   var fecha_limite:Date = new Date(2007,4,4,23,59,59); this.onEnterFrame = function(){   var fecha_servidor:Date = new Date();   var falta:Number = (fecha_limite.getTime() - fecha_servidor.getTime())/10;     if(falta > 0){     var d:Number = Math.floor(falta/8640000); //dias    var h:Number = Math.floor((falta%8640000)/360000); //horas    var m:Number = Math.floor((falta%360000)/6000); //minutos    var s:Number = Math.floor((falta%6000)/100); //segundos    falta1_txt.text = mascero(d)+'d : '+mascero(h)+'h : '+mascero(m)+'m : '+mascero(s)+'s';   }else{     falta1_txt.text = 'evento finalizado';     delete this.onEnterFrame;   }   server.load("gettime.php"); counter._visible = false;}  stop(); pero no me funciona, se que algo hago mal pero no entiendo el que, gracias

juanram:
bueno ya encontre otra solución, tuve que cambiar todo el código y ya me funciona, www.alabaja.com, pero ahora se me pasa una idea por la cabeza, cada contador debe ir enlazado a un php diferente? ahora mismo los tengo todos enlazados al mismo, pero no se si eso sobrecarga demasiado, un saludo
P.D: otra cosa que parece fallar es que si cambio la hora del ordenador va bien, pero si cambio la gmt entonces si me cambio el tiempo... mi desesperacion aumenta por momentos y el tiempo se me acaba para arreglarlo, ayuda porfavor !!  :brickwall:  :hitcomp:

dragnus:
Me alegra q ya encontraste la solucion, lo q te decía con php, es mas o menos lo q hiciste, no te entiendo cuando dices q lo enlasas a un php diferente pues el flash mire el mismo php. no ??
no se sobre carga, ahora tampoco te entiendo el gmt, es decir q formato de fecha ?? horario de inverno verano etc ??

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa