Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.08.2008, 23:10
DeeMan757 вне форума Посмотреть профиль Отправить личное сообщение для DeeMan757 Найти все сообщения от DeeMan757
  № 1  
Ответить с цитированием
DeeMan757
[+1 01.09.08]

Регистрация: Jun 2008
Сообщений: 15
По умолчанию часы не работают! в чем дело?

помогите пожалуйста с часами! они должны показывать время сервера, которое им дает 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;';
?>


Последний раз редактировалось alexcon314; 31.08.2008 в 23:34.
Старый 31.08.2008, 23:30
Haiat вне форума Посмотреть профиль Отправить личное сообщение для Haiat Найти все сообщения от Haiat
  № 2  
Ответить с цитированием
Haiat
[+6 09.06.11]
 
Аватар для Haiat

Регистрация: May 2007
Сообщений: 721
код оформи тегами )
__________________
www.haiatov.ru

Старый 31.08.2008, 23:34
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 3  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Вот Вам код работающих цифровых часов
Код:
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(),у Вас я егшо не вижу
И оформляйте свои коды тегами.

Старый 01.09.2008, 00:01
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 4  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Код:
echo '&lt;dat h=\"'.$hour.'\"&gt;';
А если так?
Код:
echo "<dat h=\"$hour\"/>";

Старый 01.09.2008, 01:07
DeeMan757 вне форума Посмотреть профиль Отправить личное сообщение для DeeMan757 Найти все сообщения от DeeMan757
  № 5  
Ответить с цитированием
DeeMan757
[+1 01.09.08]

Регистрация: Jun 2008
Сообщений: 15
Цитата:
Сообщение от alexcon314 Посмотреть сообщение
Код:
echo '&lt;dat h=\"'.$hour.'\"&gt;';
А если так?
Код:
echo "<dat h=\"$hour\"/>";
пробовал, так только хуже

Старый 01.09.2008, 20:15
DeeMan757 вне форума Посмотреть профиль Отправить личное сообщение для DeeMan757 Найти все сообщения от DeeMan757
  № 6  
Ответить с цитированием
DeeMan757
[+1 01.09.08]

Регистрация: Jun 2008
Сообщений: 15
ни кто не знает?

Старый 01.09.2008, 23:10
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 7  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Плюс за ап.

Старый 04.09.2008, 21:00
DeeMan757 вне форума Посмотреть профиль Отправить личное сообщение для DeeMan757 Найти все сообщения от DeeMan757
  № 8  
Ответить с цитированием
DeeMan757
[+1 01.09.08]

Регистрация: Jun 2008
Сообщений: 15
неужели такая сложная проблема, что никто не знает?

Старый 05.09.2008, 00:08
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 9  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
DeeMan757, вам уже сделали замечание за ап темы. Три плюса означают бан.

Ваш код AS без изменений (только адрес http:// другой) и ваш же код PHP с заменой строки
Код:
echo '&lt;dat h=\"'.$hour.'\"&gt;';
на
Код:
echo "<dat h=\"$hour\"/>";
прекрасно работают. Стрелочки указывают время правильно.
В чем проблема? Сформулируйте ясно. Ваше
Цитата:
пробовал, так только хуже
мне, например, ни о чем не говорит.

Старый 05.09.2008, 02:43
DeeMan757 вне форума Посмотреть профиль Отправить личное сообщение для DeeMan757 Найти все сообщения от DeeMan757
  № 10  
Ответить с цитированием
DeeMan757
[+1 01.09.08]

Регистрация: Jun 2008
Сообщений: 15
сорри за апы, просто очень срочно нужно було найти ошибку...
изначально в PHP коде была именно строка
Код:
echo "<dat h=\"$hour\"/>";
но с ней часы вообще не запускались.. только циферблат, без стрелок.
когда я заменил ее на
Код:
echo '&lt;dat h=\"'.$hour.'\"&gt;';
появились стрелки, но нормально шли только минутная и секундная.. а часовая показывала только 12ч
во флеше если запустить тест он показывает
&lt;dat h=23&gt;
0
0
0
0
итд

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


Последний раз редактировалось DeeMan757; 05.09.2008 в 13:14.
Создать новую тему Ответ Часовой пояс GMT +4, время: 08:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
php , серверное время , часы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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