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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.05.2008, 18:34
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 1  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
По умолчанию плавная часовая стрелка механических часов

Помогите плиз, у меня есть механические часы, в них 3 стрелки - минутная, секундная и часовая, работают по принципу такому, если минут столько-то перейти в мувике минутной стрелки на тот же фрейм, т.е. минутная стрелка - 60 кадров, секундная - 60 кадров, а часовая 12, но тут возникла проблема, часовая резко скачет с одного часа на другой, как бы мне сделать часовую тоже с прокруткой на 60 кадров что бы часовая стрелка во время часа не скакала с 2-х до 3-х допустим, а плавно переходила как на нормальных наручных механических часах, помогите плиз, а то что-то не придумаю никак. Допустим мой мувиклип часовой стрелки называется hours, и я сделаю его как минутную стрелку - прокрутку на 60 кадров, помогите плиз с формулой (( как это реализовать ?
Ну или если не сложно скиньте ссылку на какой-нибудь подобный исходник я посмотрю как там сделано и смогу исправить свой...

Старый 19.05.2008, 18:43
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 2  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
Ну попробуй также сдедать 60 кадров в том муви который часовой, и переходи также как и в минутном муве.

Старый 19.05.2008, 19:00
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 3  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Леха, ты помоему чего-то не понял, часов 12 а не 60, и работает сейчас скрипт по принципу:
Код:
_root.clock.hours.gotoAndStop(_root.time_th);
//ГДЕ:
time_th = time.getHours();
т.е. 12 кадров 12 часов, я ищу формулу по которой в 60-и кадровом мувике часовой стрелки исходя из положения минутной часовая будет плавно перемещаться на 5 кадров в час т.е. на 1 деление каждый 12 минут исходя из данного периода времени

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

Регистрация: Oct 2005
Сообщений: 207
А так не проще:
Код:
onEnterFrame = function ()
{
	currDate = new Date();
	HOUR._rotation = ((currDate.getHours() > 11)?currDate.getHours():currDate.getHours()-12) * 30 + currDate.getMinutes() * 0.5;
	MIN._rotation = currDate.getMinutes() * 6 + currDate.getSeconds() * 0.1;
	SEC._rotation = currDate.getSeconds() * 6;
}

Старый 19.05.2008, 19:30
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 5  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Лучший вариант предложил Vertax, AS Forever
Что имел ввиду lexa:
60 кадров, 60/12=5, то есть каждые 5 кадров стрелка указывает на какой нибудь час.
Далее, как я понял тебе надо - наступил новый час и стрелка передвинулась с 4 до 5, а не во время часа она плавна туда перебиралась? Тогда на каждом 5 кадре (там, где стрелка указывает на четкие часы (1,2,3 и т.д.)) поставить stop(); Далее, при новом часе мы делаем etot_mc.play() - стрелка плавно перебегает на другой час и останавливается (как ты понял, между этит каждыми 5 кадрами обычная IDE анимация)

Старый 19.05.2008, 21:04
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 6  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Пасиба уже помогли, вот тот вариант что мне дали очень коротко и ясно
Код:
var time = new Date();
	var hours = time.getHours();
	var minutes = time.getMinutes();
	var seconds = time.getSeconds();
	this.hour._rotation = this.hour_shadow._rotation = 30 * hours + minutes / 2;
	this.min._rotation = this.min_shadow._rotation = 6 * minutes;
	this.sec._rotation = this.sec_shadow._rotation = 6 * seconds;
Vertax, пасиба, в принципе то же самое только у тебя переменные не введены
Psycho Tiger, надо как раз как на механических часах, часовая стрелка чтобы медленно двигалась всегда а не тупо при смене часа, если делать тупо достаточно сделать 12 кадров через стоп и гоутуэндстопить мув в соответствии с текущим часом


Последний раз редактировалось DJ_Baton; 19.05.2008 в 21:08.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:29.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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