Вопрос по ActionScript и Флеш

SL
На сайте с 13.04.2011
Offline
30
505

Добрый день, подскажите, можно ли во флеш сделать такое: в зависимости от времени показывать какую-то часть ролика. Например, за час до 13.00 показывать кадры с 1-го по 10-ый, за час до 17.00 показывать кадры с 11 по 20-ый. Может ли вообще swf сечь время сервера, где флешка размещена? Или же надо сделать два ролика один на 13 часов, а другой на 17 часов и попросить админов, чтобы CMS так настроили, как я писал выше: в одно время выдается первая флешка в другое - вторая?

UPD: AS знаю очень поверхностно, поэтому буду благодарен за ссылки на примеры

K
На сайте с 28.12.2008
Offline
61
kud
#1

Можно.

Почитайте про класс Date() (вроде те же методы что и в JS).

Примерно будет выглядеть так:

В первом кадре делаете слой в котором пишете:


var curDate:Date = new Date();
var currentHours = curDate.getHours();
if (currentHours <= 13 && currentHours >= 13-1) gotoAndPlay(1);
else if (currentHours <= 17 && currentHours >= 17-1) gotoAndPlay(11);

Ну и в 10 и 21 кадре тоже проверку делайте или ставте Stop();

SL
На сайте с 13.04.2011
Offline
30
#2

Спасибо, большое за совет

А не затруднит подсказать еще как это завязать с минутами? Насколько я понял с помощью getMinutes мы получим число равное текущей минуте.

У меня сложность с таким выражением:

Если сейчас (больше 11:45 И меньше 12:15) {то показать то-то};

Также если (сейчас больше 12:50 И меньше 13:40) { то показать то-то};

и т.д.

Можете ли помочь с таким синтаксисом?

K
На сайте с 28.12.2008
Offline
61
kud
#3
SecondLeg:
Спасибо, большое за совет

А не затруднит подсказать еще как это завязать с минутами? Насколько я понял с помощью getMinutes мы получим число равное текущей минуте.

У меня сложность с таким выражением:
Если сейчас (больше 11:45 И меньше 12:15) {то показать то-то};
Также если (сейчас больше 12:50 И меньше 13:40) { то показать то-то};
и т.д.

Можете ли помочь с таким синтаксисом?

Приводите часы в минуты.

Например, 11 часов - это 11 * 60 минут

соответственно условие будет:

Если (сейчас минут больше сколько нужно минут И меньше сколько нужно минут) {то показать то-то};

SL
На сайте с 13.04.2011
Offline
30
#4

var date:Date = new Date;
var Hours:Number = date.getHours();
var Minutes:Number = date.getMinutes();
var HoursToMinutes:Number = Hours * 60;
var FinalNumber:Number = HoursToMinutes + Minutes;

if (FinalNumber <= нужному числу1 && FinalNumber >= нужному числу2)
{goToAndPlay (1) }

else if (FinalNumber <= нужному числу3 && FinalNumber >= нужному числу4)
{goToAndPlay (2) };

Примерно так?

K
На сайте с 28.12.2008
Offline
61
kud
#5
SecondLeg:
var date:Date = new Date;

var Hours:Number = date.getHours();
var Minutes:Number = date.getMinutes();
var HoursToMinutes:Number = Hours * 60;
var FinalNumber:Number = HoursToMinutes + Minutes;

if (FinalNumber <= нужному числу1 && FinalNumber >= нужному числу2)
{goToAndPlay (1) }

else if (FinalNumber <= нужному числу3 && FinalNumber >= нужному числу4)
{goToAndPlay (2) };


Примерно так?

Да, только учтите что часы там от 0 до 23. Поэтому 0 - это 24

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий