У меня есть игра, и когда игрок нажимает кнопку воспроизведения, начинается обратный отсчет, и игра начинается, когда отсчет достигает нуля. Проблема в том, что он отсчитывает время от компьютера и компьютера, а разница в секундах от компьютера к компьютеру приводит к запуску игроков в разное время.
Можно ли отсчитывать отсчет времени до времени сервера, чтобы синхронизировать игроков, чтобы все начинали одновременно?
Код написан в actionscript3.0 и Flash cs5.5
предоставленный код в настоящее время ведет обратный отсчет оставшимися секундами ОС текущего минимума, поэтому, если их 30 секунд осталось в текущем мин, то происходит обратный отсчет 30 секунд
time1 в моей базе данных 60 между 60 играми.
Любая помощь будет более чем оценена
заранее спасибо
Дэйв
var timer4:Timer = new Timer(1000);
timer4.addEventListener(TimerEvent.TIMER, tick4);
timer4.start();
function tick4(e:TimerEvent):void{
var request:URLRequest = new URLRequest("timerma2.php");
request.method = URLRequestMethod.GET;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, completeHandlert);
loader.load(request);
function completeHandlert(e:Event) {
var time1 = e.target.data.time1;
var pattern = e.target.data.pattern;
var frames = e.target.data.frames;
var currentYear:Number = new Date().fullYear;
var targetDate:Date = new Date(currentYear, 11, 50);
addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void{
var now:Date = new Date();
var timeLeft:Number = targetDate.getTime() - now.getTime();
var sec:Number = Math.floor(timeLeft/1000);
var min:Number = Math.floor(sec/60);
sec = sec % 60;
min = min % time1;
mintxt.text = (min < 10) ? "0"+min.toString() : min.toString();
sectxt.text = (sec < 10) ? "0"+sec.toString() : sec.toString();
if (min == 0 && sec == 0){
theframe();
function theframe(){
if (frames == 4){
gotoAndStop (4);
timer4.removeEventListener(TimerEvent.TIMER, tick4);
removeEventListener(TimerEvent.TIMER, loop);
}