PDA

Просмотр полной версии : action script для Чайника


ЭрСи
29.04.2004, 10:05
Мне нужно чтобы в зависимости от значения секунд в момент загрузки flash-ролика клип "ss", расположенный в основной сцене, начинался с определенного кадра (1сек=2кадрам). Пробовал вставлять следующий код в сам клип:
z=now.getSeconds();
polsec=z*2;
gotoAndPlay(polsec);
Но все равно клип начинался сначала.
Буду благодарен за любую помощь.

_zhloba
29.04.2004, 10:29
Непонял - ты хочешь определить, сколько секунд длилась загрузка?
Тогда z=now.getSeconds(); не годится - получишь просто секунды в текущий момент времени, что ни о чем не говорит

Нужно фиксировать момент начала загрузки и момент окончания.
Например

time_start=new Date();
t_start=time_start.getTime;

function EndLoad(){

time_end=new Date();
t_end=time_end.getTime;

loading_time=t_end-t_start;
trace("Загрузка длилась "+loading_time+" милисекунд");

polsec=Math.round(loading_time/1000)*2;
mc_need_to_show.gotoAndPlay(polsec);

}

Что же касается
Но все равно клип начинался сначала.
- проверяй дебагом значения всех переменных, что именно передается функции gotoAndPlay()

ЭрСи
30.04.2004, 01:53
Сперва ты меня правильно понял. Т.е. допустим в момент загрузки секундная стрелка показывала 30 сек. тогда клип должен начаться с 60 кадра.
- проверяй дебагом значения всех переменных, что именно передается функции gotoAndPlay() Прости, но я не понял, что ты имел ввиду. Я ведь не волшебник, я только учусь.

artfla$her
30.04.2004, 01:58
Ctrl+SHIFT+ENTER - и усё, а дальше покапайся, поймешь :)

ЭрСи
03.05.2004, 10:23
Наверное, я вас уже достал своими глупыми вопросами, но помогите разобраться чайнику, PLZ :confused: . Сперва, я делал так: создавал клип и вставлял его в основную сцену. Сейчас сделал по-другомому: из всй сцены я создал клип. И Action Script я применяю уже к одному из слоев в основной сцене. z=Now.getSeconds();
zz=z*2;
gotoAndPlay(Сцена1, zz);
Где Сцена1 название сцены. И теперь при попытки протестировать или отладить сцену MX выдает мне ошибку следующего содержания: Сцена=Сцена 1, Слой=movie, Фрейм=1: Линия 3: Scene name must be quoted string gotoAndPlay(Сцена1, zz);

Dindin
04.05.2004, 09:08
Он тебе говорит, что название сцены должно быть строкой. Возьми его в кавычки.

ЭрСи
08.05.2004, 01:51
OK! Это я исправил, но клип все равно начинается не с того места, с которого ему положено начинаться.

Dindin
08.05.2004, 13:26
FPS в плеере вещь очень и очень не постоянная, и привязывать его к секундам можно очень условно. Думаю причина в этом.

D12
09.05.2004, 02:40
elle = getTimer();
Time = int(elle/100);
if(_root.TIme==100){
_root.mc.gotoAndPlay(60);
}


попробкй вот так)правда секунды в етом примерчике нужно подобрать )))

ЭрСи
12.05.2004, 02:28
У меня появился вопрос: чем отличаются следующие два кода
on (rollOver) {
_root.mov1.gotoAndPlay ("2");
}
on (rollOut) {
_root.mov1.gotoAndPlay ("32");
}иon (rollOver) {
gotoAndPlay ("mov1", "2");
}
on (rollOut) {
gotoAndPlay ("mov1", "32");
}Для меня, для чайника, только работоспособностью (1 работает, 2ой нет). Оба кода применяються к одной кнопке. Объясните мне для чего в 1ом случае стоит _root.mov1.

Dindin
12.05.2004, 09:30
В первом случае ты вызываешь метод объекта MovieClip, а во втором - метод объекта Object. Причем, метод объекта Object - статический, то есть не требует указания объекта, которым он вызывается. Проще говоря, это - два разных метода. Причем в случае записи
gotoAndPlay ("mov1", "32"); Первый параметр - необязательный и указывает на сцену, на кадр которой должна перейти считывающая головка.