Форум 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)
-   -   Старт ролика с n-ого фрейма (http://www.flasher.ru/forum/showthread.php?t=135718)

tilweb 30.01.2010 14:00

Старт ролика с n-ого фрейма
 
Не подскажите, как можно сделать, чтобы флешка при открытие начинала с например 10ого фрейма проигрываться?
У меня просто календарь на флеше, и вот как наступает следующий месяц, хочется чтобы загружался не с первого

Может можно чтото прописать такое в первом фрейме?

udaaff 30.01.2010 14:07

Через класс Date определяйте дату/месяц или что вам там надо. В зависимости от полученного результата, переходите на соответствующий кадр.

tilweb 30.01.2010 14:10

а как это записать...? я as вообще плохо знаю(

udaaff 30.01.2010 15:18

Код AS1/AS2:

gotoAndStop(new Date().getMonth());


tilweb 30.01.2010 16:16

а куда номер фрейма пихать...?

и нельзя например какнить чтото вроде gotoAndStop(32);
типо при открытие первого фрейма, сразу перейдём на 32?

aksios 30.01.2010 16:23

А подумать? Попробовать???

tilweb 30.01.2010 16:31

уже попробовал... не работает что я написал(

samana 30.01.2010 16:47

Цитата:

а куда номер фрейма пихать...?
Так udaaff же подсказал.
new Date().getMonth() - возвращает номер текущего месяца, сейчас январь, это месяц номер 1, вот и получается что переходит на кадр номер один.
Ничего страшного, в следующем месяце уже перейдёт на кадр 2.

tilweb 30.01.2010 21:26

а если февраль идёт не вторым кадром, а 34ым... ?

mr_pol 30.01.2010 21:49

пишите услоовие типа
Код AS1/AS2:

if (февраль) {
        gotoAndStop(34);
} else if (март){
gotoAndStop(68);
}


udaaff 30.01.2010 21:52

Поставьте на кадрах соответствующие метки.
Код AS1/AS2:

var months:Array = [ "jan", "feb", "mar", "и так далее" ];
 
gotoAndStop(months[new Date().getMonth()]);


tilweb 30.01.2010 22:19

а как ставить метки...?

и я так понимаю вот это писать в первый фрейм?
ну лишь дописав var months:Array = [ "jan", "feb", "mar", "и так далее" ];
до конца

udaaff 30.01.2010 22:29

В свойствах кадра: Frame Label.
Можно и без меток, просто номера соответствующих кадров в массив запишите. Хотя это будет менее правильно и понятно.

tilweb 30.01.2010 22:34

а как он понимает что нужно идти например в feb?
там getMonth определяет что месяц второй и выбирает от туда второе название?

udaaff 30.01.2010 22:44

Да, только не второй, а первый, так как нумерация месяцев, так же как и элементов массива, с ноля начинается.

tilweb 30.01.2010 22:49

т.е. мне нужно туда впихнуть перед первым в массив чтонить ещё..?

udaaff 30.01.2010 22:53

Ненужно ничего никуда пихать.

tilweb 30.01.2010 22:54

Спасибо огромное!

tilweb 03.02.2010 00:43

хм... не работает почемуто...

udaaff 03.02.2010 01:11

У меня почему-то работает.

fessor 03.02.2010 20:07

для начинающих очень поможет команда trace(month);
в нее вместо слова "month" можно подставить любую переменную и после запуска флешки посмотреть ее значение

по сути вопроса (как уже было сказано) Date().getMonth() возвращает номер месяца
gotoAndStop(Date().getMonth()); //- остановит ролик в одном из 12 первых кадров
gotoAndStop(Date().getMonth()*4); //- остановит ролик в 4, 8, 12, 16 и прочих кадрах (кратных четырем)

Далее, если есть желание подгружать для каждого месяца свой фон - нумеруем картинки и динамически подгружаем только одну, с порядковым номером взятым из Date().getMonth().


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

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