Форум 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=115481)

DeeMan757 31.08.2008 23:10

часы не работают! в чем дело?
 
помогите пожалуйста с часами! они должны показывать время сервера, которое им дает php файл xxx.php но они не работают... всегда показывают 12часов. минуты и секунды правильно. в чем может быть ошибка? вот код:

Код:

_root.attachMovie("secondarrow","sec_mc",300,{_x:27.5, _y:27.5});
_root.attachMovie("minutearrow","min_mc",200,{_x:27.5, _y:27.5});
_root.attachMovie("primaryarrow","prim_mc",100,{_x:27.5, _y:27.5});


_root.clock_hours = 0;
_root.left_hours = 0;
ready=false;

var my_xml:XML = new XML();
my_xml.ignoreWhite = true;
my_xml.onLoad = function(success:Boolean)
{
    trace(my_xml)
        if (success)
    {
          ready=true;
          _root.clock_hours = Math.floor(my_xml.childNodes[0].attributes.h);
            lmin = now.getMinutes();
    }
}
my_xml.load("http://xxx.ru/xxx/xxx.php?anticache="+Math.random());



_root.onEnterFrame = function()
{
    if (ready)
    {
          if (lmin > now.getMinutes())
          _root.left_hours++;
         
          var now:Date = new Date();
          sec = now.getSeconds();
          min = now.getMinutes();
          prim = _root.clock_hours + _root.left_hours;
          trace(_root.left_hours)
          lmin = min;
         

          _root.sec_mc._rotation = sec/60*360;
          //var mr:Number = min*6 + sec/10;
          min_mc._rotation = min/60*360;
          prim_mc._rotation = prim/12*360;
    }
}

и php файл
Код:

<?
$smeshenie_servera = 2;

$hour = floor(date('H')) - $smeshenie_servera;

if ($hour<0)
$hour += 24;

if ($hour>=24)
$hour -= 24;

echo '&lt;dat h=\"'.$hour.'\"&gt;';
?>


Haiat 31.08.2008 23:30

код оформи тегами )

scarbo 31.08.2008 23:34

Вот Вам код работающих цифровых часов
Код:

var myDate:Date = new Date();
var day:Array = new Array("воскресенье","понедельник","вторник","среда","четверг","пятница","суббота");
var mo:Array = new Array("января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря");
var hint:String = myDate.getDate()+" "+mo[myDate.getMonth()]+" "+myDate.getFullYear()+"г."

this.createEmptyMovieClip("vremya_mc", this.getNextHighestDepth());
var N:TextFormat = new TextFormat();
N.font = "Trebuchet MS";
N.color = 0xFFFFCC;
N.size = 20;
//chas
vremya_mc.createTextField("Ch_de", 0, 0, 0, 10, 20);
vremya_mc.Ch_de.autoSize = true;
vremya_mc.Ch_de.setNewTextFormat(N);
vremya_mc.Ch_de.text = 0;
vremya_mc.createTextField("Ch_ed", 1,(vremya_mc.Ch_de._x+vremya_mc.Ch_de._width),0,10,20);
vremya_mc.Ch_ed.autoSize = true;
vremya_mc.Ch_ed.setNewTextFormat(N);
vremya_mc.Ch_ed.text = 0;
vremya_mc.createTextField("Ch_ra", 2,(vremya_mc.Ch_ed._x+vremya_mc.Ch_ed._width),0,10,20);
vremya_mc.Ch_ra.autoSize = true;
vremya_mc.Ch_ra.setNewTextFormat(N);
vremya_mc.Ch_ra.text = ":";
//minuti
vremya_mc.createTextField("Mi_de", 3, (vremya_mc.Ch_ra._x+vremya_mc.Ch_ra._width), 0, 10, 20);
vremya_mc.Mi_de.autoSize = true;
vremya_mc.Mi_de.setNewTextFormat(N);
vremya_mc.Mi_de.text = 0;
vremya_mc.createTextField("Mi_ed", 4,(vremya_mc.Mi_de._x+vremya_mc.Mi_de._width),0,10,20);
vremya_mc.Mi_ed.autoSize = true;
vremya_mc.Mi_ed.setNewTextFormat(N);
vremya_mc.Mi_ed.text = 0;
vremya_mc.createTextField("Mi_ra", 5,(vremya_mc.Mi_ed._x+vremya_mc.Mi_ed._width),0,10,20);
vremya_mc.Mi_ra.autoSize = true;
vremya_mc.Mi_ra.setNewTextFormat(N);
vremya_mc.Mi_ra.text = ":";
//secundi
vremya_mc.createTextField("Sec_de", 6, (vremya_mc.Mi_ra._x+vremya_mc.Mi_ra._width), 0, 10, 20);
vremya_mc.Sec_de.autoSize = true;
vremya_mc.Sec_de.setNewTextFormat(N);
vremya_mc.Sec_de.text = 0;
vremya_mc.createTextField("Sec_ed", 7,(vremya_mc.Sec_de._x+vremya_mc.Sec_de._width),0,10,20);
vremya_mc.Sec_ed.autoSize = true;
vremya_mc.Sec_ed.setNewTextFormat(N);
vremya_mc.Sec_ed.text = 0;

//razmeshenie
vremya_mc._x = (Stage.width-vremya_mc._width)/2;
vremya_mc._y = (Stage.height-vremya_mc._height)/2;

vremya_mc.onRollOver = function(){
        viewHint();
}
vremya_mc.onRollOut = function(){
        hint_list.removeTextField();
}
vremya_mc.onEnterFrame = function(){
        var D:Date = new Date();
        var ch=D.getHours();
        this.Ch_de.text=Math.floor(ch/10);
        this.Ch_ed.text=ch%10;
        var min=D.getMinutes();
        this.Mi_de.text=Math.floor(min/10);
        this.Mi_ed.text=min%10;
        var sec=D.getSeconds();
        this.Sec_de.text=Math.floor(sec/10);
        this.Sec_ed.text=sec%10;
}

там есть такой пункт:getHours(),у Вас я егшо не вижу
И оформляйте свои коды тегами.

alexcon314 01.09.2008 00:01

Код:

echo '&lt;dat h=\"'.$hour.'\"&gt;';
А если так?
Код:

echo "<dat h=\"$hour\"/>";

DeeMan757 01.09.2008 01:07

Цитата:

Сообщение от alexcon314 (Сообщение 761498)
Код:

echo '&lt;dat h=\"'.$hour.'\"&gt;';
А если так?
Код:

echo "<dat h=\"$hour\"/>";

пробовал, так только хуже

DeeMan757 01.09.2008 20:15

ни кто не знает?

alexcon314 01.09.2008 23:10

Плюс за ап.

DeeMan757 04.09.2008 21:00

неужели такая сложная проблема, что никто не знает?

alexcon314 05.09.2008 00:08

DeeMan757, вам уже сделали замечание за ап темы. Три плюса означают бан.

Ваш код AS без изменений (только адрес http:// другой) и ваш же код PHP с заменой строки
Код:

echo '&lt;dat h=\"'.$hour.'\"&gt;';
на
Код:

echo "<dat h=\"$hour\"/>";
прекрасно работают. Стрелочки указывают время правильно.
В чем проблема? Сформулируйте ясно. Ваше
Цитата:

пробовал, так только хуже
мне, например, ни о чем не говорит.

DeeMan757 05.09.2008 02:43

сорри за апы, просто очень срочно нужно було найти ошибку...
изначально в PHP коде была именно строка
Код:

echo "<dat h=\"$hour\"/>";
но с ней часы вообще не запускались.. только циферблат, без стрелок.
когда я заменил ее на
Код:

echo '&lt;dat h=\"'.$hour.'\"&gt;';
появились стрелки, но нормально шли только минутная и секундная.. а часовая показывала только 12ч
во флеше если запустить тест он показывает
&lt;dat h=23&gt;
0
0
0
0
итд

в чем дело я не знаю, вот и спросил..
alexcon314, вы сказали что код рабочий, вы его проверяли? заливали на сервер?


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

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