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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 23.07.2004, 04:49
belyakov.com вне форума Посмотреть профиль Отправить личное сообщение для belyakov.com Посетить домашнюю страницу belyakov.com Найти все сообщения от belyakov.com
  № 1  
belyakov.com

Регистрация: Jul 2000
Адрес: Санкт-Петербург
Сообщений: 46
Отправить сообщение для belyakov.com с помощью ICQ
По умолчанию Цифровые часы - помогите разобраться с кодом

Добрый день,

Мне нужно сделать индикатор времени на сервере на flash.
Немного порывшись в форуме нашел кусок подходящего кода.
Теперь вот парюсь с ним уже 4 часа не могу никак врубится что к чему. Помогите, пожалуйста, разобраться.

Заранее большое спасибо всем.

Код:
if(sec!=true)
	{
	//Здесь будут подсасываться переменные из PHP
	sec=55;
	min=12;
	hour=24;
	}
timer=getTimer(); //Берем таймер
sec = (Math.round(timer/1000)+sec)%60; // прибавляем текущее значение в секундах %60
sec<10 ? sec="0"+sec : sec; // если секунд < 10 - прицепляем ноль в начале
sec==00 ? min=min+1 : min; // если секунд 00 - увеличиваем min на 1
min = (min)%60; // соотвественно с минутами поступаем
min<10 ? "0"+min : min;
min==00 ? hour++ : hour;
hour = (hour)%24;

//Дальше вывод
div=":";
time=hour+div+min+div+sec;	// вывод в текстовое поле
Вложения
Тип файла: zip clock.zip (8.2 Кб, 105 просмотров)

Старый 23.07.2004, 10:19
kazakov_gin вне форума Посмотреть профиль Найти все сообщения от kazakov_gin
  № 2  
kazakov_gin
 
Аватар для kazakov_gin

Регистрация: Dec 2003
Сообщений: 347
А ты время с сервера то берёшь?
Замени
Код:
if(sec!=true)  {
//Здесь будут подсасываться переменные из PHP
sec=55;
min=12;
hour=24;
}
на
Код:
php=new LoadVars();
php.sendAndLoad("timer.php", php, "GET");
php.onLoad = function(success) {
if (success) {
sec=php.sec
min=php.min
hour=php.hour
}
};
А в timer.php:
Код:
<?php
echo "&sec=".date("s")."&min=".date("i")."&hour=".date("H");
?>
__________________
[GIN]

Старый 23.07.2004, 14:23
belyakov.com вне форума Посмотреть профиль Отправить личное сообщение для belyakov.com Посетить домашнюю страницу belyakov.com Найти все сообщения от belyakov.com
  № 3  
belyakov.com

Регистрация: Jul 2000
Адрес: Санкт-Петербург
Сообщений: 46
Отправить сообщение для belyakov.com с помощью ICQ
Цитата:
Оригинал написал(а) kazakov_gin
А ты время с сервера то берёшь?
Замени
Код:
if(sec!=true)  {
//Здесь будут подсасываться переменные из PHP
sec=55;
min=12;
hour=24;
}
на
Код:
php=new LoadVars();
php.sendAndLoad("timer.php", php, "GET");
php.onLoad = function(success) {
if (success) {
sec=php.sec
min=php.min
hour=php.hour
}
};
А в timer.php:
Код:
<?php
echo "&sec=".date("s")."&min=".date("i")."&hour=".date("H");
?>
Как раз с получением переменных из PHP проблем никаких нет.
Именно поэтому я не стал загромождать свой кусок кода LoadVars и прочей фигней - а просто задал их руками. Там в комментарии написано - что здесь переменные будут подсасываться из PHP. Я имел ввиду именно так, как ты написал.

Проблема - то в другом. А именно в ActionScript-таймере, который как-то странно у меня работает.

Старый 26.07.2004, 15:44
belyakov.com вне форума Посмотреть профиль Отправить личное сообщение для belyakov.com Посетить домашнюю страницу belyakov.com Найти все сообщения от belyakov.com
  № 4  
belyakov.com

Регистрация: Jul 2000
Адрес: Санкт-Петербург
Сообщений: 46
Отправить сообщение для belyakov.com с помощью ICQ
По умолчанию Ну и чё?

Ну и чё никто не знает?
Или я лох?
Или никто часы не делал никогда?
Или в Экшнскрипт 2.0 запостить нужно было?

Помогите! Товарищи!

Старый 26.07.2004, 17:37
mishinaelle вне форума Посмотреть профиль Отправить личное сообщение для mishinaelle Посетить домашнюю страницу mishinaelle Найти все сообщения от mishinaelle
  № 5  
mishinaelle
 
Аватар для mishinaelle

Регистрация: Mar 2003
Адрес: Moscow
Сообщений: 669
Отправить сообщение для mishinaelle с помощью ICQ
слушай, а что ты хочешь получить в итоге?
чтобы твой клип один раз, в самом начале, брал серверное время, а потом внутри себя уже менял значение таймера?

если да - то енто надо по другому реализовать, не так как у тебя. если да - свистни - скину правильный код

Старый 01.08.2004, 17:10
belyakov.com вне форума Посмотреть профиль Отправить личное сообщение для belyakov.com Посетить домашнюю страницу belyakov.com Найти все сообщения от belyakov.com
  № 6  
belyakov.com

Регистрация: Jul 2000
Адрес: Санкт-Петербург
Сообщений: 46
Отправить сообщение для belyakov.com с помощью ICQ
По умолчанию Как надо?

Почему как у меня нельзя?

Старый 01.08.2004, 18:24
kazakov_gin вне форума Посмотреть профиль Найти все сообщения от kazakov_gin
  № 7  
kazakov_gin
 
Аватар для kazakov_gin

Регистрация: Dec 2003
Сообщений: 347
Думаю, можно по всякому.
Просто никого не прикалывает просматривать кучи чужого кода в поисках ошибки или возможной неполадки.
__________________
[GIN]

Старый 01.08.2004, 18:43
belyakov.com вне форума Посмотреть профиль Отправить личное сообщение для belyakov.com Посетить домашнюю страницу belyakov.com Найти все сообщения от belyakov.com
  № 8  
belyakov.com

Регистрация: Jul 2000
Адрес: Санкт-Петербург
Сообщений: 46
Отправить сообщение для belyakov.com с помощью ICQ
Цитата:
Оригинал написал(а) kazakov_gin
Думаю, можно по всякому.
Просто никого не прикалывает просматривать кучи чужого кода в поисках ошибки или возможной неполадки.
точняк, приятель.

Старый 01.08.2004, 19:20
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
во первых ты плюсуешь getTimer() к текущим секундам( а надо бы к стартовым)
во вторых там непонятка возникает из-за второго кадра в мувике
я бы так сделал (убрав второй кадр):
Код:
sec=sec0=55;
min=12;
hour=24;

this.onEnterFrame=function(){
	nexts=(Math.floor(getTimer()/1000)+sec0)%60
	if(nexts!=sec) {
		sec=nexts;
		if(sec==0) {min++;min %=60}
		if(min==0) {hour++;hour %=24;}
		div=":";
		time=hour+div+(min<10 ? "0"+min : min) +div+(sec<10 ? "0"+sec : sec);	
	}
}

Старый 02.08.2004, 18:28
belyakov.com вне форума Посмотреть профиль Отправить личное сообщение для belyakov.com Посетить домашнюю страницу belyakov.com Найти все сообщения от belyakov.com
  № 10  
belyakov.com

Регистрация: Jul 2000
Адрес: Санкт-Петербург
Сообщений: 46
Отправить сообщение для belyakov.com с помощью ICQ
По умолчанию Всем спасибо.

Большое вам спасибо, mishinaelle, silin и kazakov_gin.

mishinaelle и silin - ваши коды замечательно работуют. mishinaelle - тема с OnEnterFrame очень правильная и умная.

P.S. почему-то при использовании функции LoadVariables () ;
Часы и минуты грузятся нормально, а секунды нет. Помог код от kazakov_gin, за что ему отдельная благодарность.

Почему не сработала LoadVariables () ; для меня до сих пор загадка. Если у кого-нибудь будут мысли на эту тему - буду рад...

Еще раз всем спасибо - вы круты.

Создать новую тему   Часовой пояс GMT +4, время: 06:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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