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

Student2k1 10.06.2011 11:16

Настроить стрелку элемента аналоговых часов
 
http://mm-alliance.ru/wp-content/the...lash/watch.png
Есть вот такие часы.
Я дизайнер, а не программист, но во флеше немного разбираюсь, поэтому слямзить скрипт на нормальный ход стрелок в аналоговых часах особого труда не составило. Но осталась одна проблема: в правом циферблате отображаются дни недели. И отображаются в обратном порядке, а не по часовой стрелке. Как сделать, чтобы стрелка показывала правильный день недели? Алгоритм, который мне в голову пришел - это семь условий типа "Если дата понедельник, то поворот стрелки на столько-то градусов" и так семь раз. Но подозреваю, что можно сделать проще. Я понимаю, что для нормального программиста вопрос ерундовый. Подскажите пожалуйста.

Haiat 10.06.2011 11:32

самый просто вариант:

Код:

a=1;//день недели, начиная от 1
n=8;//количество делений, включая DAYS
s=360;//полный круг
alpha=s-a*(s/n)//высчитывание угла


Student2k1 10.06.2011 11:55

Все! Отлично! Все работает. Но с маленькими поправками, которые я перенял из кода для поворота стрелок.
Код AS1/AS2:

    var __reg2 = new Date();
    var a = __reg2.getDay(); // день недели
    n = 8; //количество делений, включая DAYS
    s = 360; //полный круг
    alph = s-a*(s/n) //высчитывание угла
    this.dayHand._rotation = alph; // поворот стрелки на угол "alph"

Haiat, большое спасибо за помощь. Очень выручил.


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

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