Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Обратная прокрутка ролика (http://www.flasher.ru/forum/showthread.php?t=36062)

strelka 21.08.2002 13:07

Обратная прокрутка ролика
 
Доброго времени суток всем участникам конференции.
Вопрос вот какой: есть команда GotoAndPlay(номер фрейма).
А нет ли какой-нито команды или способа, чтобы проиграть ролик до заданного номер фрейма В ОБРАТНОМ ПОРЯДКЕ?
Спасибо.

strelka 21.08.2002 13:32

Дополнение...
 
И еще близкий вопрос: можно ли как-то задать границы проигрывания ролика (от какого фрейма до какого), кроме как прописав в конечном фрейме Stop() а в начальном - GotoAndPlay(x) ?

JeeP 21.08.2002 13:32

prevFrame();

:)

JeeP 21.08.2002 13:35

чтоб проверять - есть оператор if и свойство _currentframe, их и юзай!

strelka 21.08.2002 13:38

Да, но..
 
Эта команда осуществляет переход на 1 кард обратно, а если надо прокрутить последовательно 20 кадров ролика???
Вероятно где-то надо написать функцию, которая 20 раз будет запускать эту команду, но где и как?
Или можно как-то проще?

strelka 21.08.2002 13:41

Спасиб :)
 
А вот _currentframe - точно то что надо
спасиб!

JeeP 21.08.2002 13:52

вероятно надо :p

тут тебе надо немного теории знать - для такого управления как хочешь ты обычно используют либо 3-х кадровые мувики(это было актуально для 5-ки и ниже), либо функции с onEnterFrame; и то и другое управляет процессом в заданном таймлайне!

например можешь так:

function backward(mc, endf) {
onEnterFrame=function() {
if (mc._currentframe == endf) {
return;
}
mc.prevFrame();
}
}

обращаешься как _root.backward(this, 1); - это ты уже знаешь

strelka 21.08.2002 13:57

Благодарность
 
вот это точно поможет!
... после обеда :)

JeeP 21.08.2002 14:10

поможет, кудаж оно денется :) :) :)

Nox Noctis 21.08.2002 14:38

а для МХ есть тут одна фишка
http://www.flasher.ru/src/stats_1809/
проигрывание мувика в заданном направлении с заданным фреймрейтом... может пригодится...

strelka 21.08.2002 15:47

Благодарность
 
... не знает границ :)

DeliMIter 22.08.2002 13:22

Re: Благодарность
 
Цитата:

Оригинал написал(а) strelka
... не знает границ...
...растеклась по полу безгранично грязной лужей...

Сори, просто не удержался. Nox, твой адвансед плэйхед контрол - глючный :))))))))

Nox Noctis 22.08.2002 13:35

багрепорт давай а не пальцами маши :))

WD` 22.08.2002 13:55

2 strelka:
 
Вложений: 1
вот для 5-ки вариант..

DeliMIter 22.08.2002 22:55

2Nox

Теперь я могу ЭТО сделать :)))))))))))

http://www.station4net.com/flashfx/image/kill.gif

Слал уже как-то. Ставишь 120 фпс и эксперементируешь с параметром. То ли на 12 то ли на 120 работало стабильно криво.

Nox Noctis 23.08.2002 14:33

2DeliMIter фуф... а я уж думал ты что-то серьезное нашел...
...комменты надо читать лучше :)
там написано, что фреймрейт может быть любым "в разумных пределах"... поставь в небольшом ролике фпс 120 - и посмотрим как все будет здорово %)) а еще в макромедию напишем что у них плеер корявый (давно хотелось 8)) )

чем меньше фреймрейт, тем правильнее все работает... до 50 кадров в сек я глюков пока не замечал...

а очень большие фреймрейты - нафига они вообще ? может не надо приспосабливать плюшевого зайца к управлению боингом, а ? :)))

к тому же setInterval работает неравномерно, что тоже дает некоторую погрешность (там время интервала отсчитывается от окночания выполнения функции а не от момента предыдущего запуска... а время выполнения может варьироваться как угодно практически)

...хм... кому я это все объясняю ? ;))))

DeliMIter 23.08.2002 20:58

[quote]
...хм... кому я это все объясняю ? ;))))
[quote]

Стрелке ;))))))

Насколько я знаю, setInterval работает корявовато, потому что вынужден ждать ближайшего кадра ПОСЛЕ того, как заданное время реально вышло. Так что если в первом кадре поставить инервал на одну секунду, то при 1 фпс триггер сработает кадре так в третьем...

Nox Noctis 23.08.2002 21:08

ну, это-то как раз понятно :) даже в хэлпе написано (даже :)) )
Цитата:

If interval is greater than the movie frame rate, the interval function is only called each time the playhead enters a frame in order to minimize the impact each time the screen is refreshed.
тоже корявость...
что делать, всем управляет фреймрейт, никуда от этого не деться :)

fiot 26.08.2002 01:52

Вложений: 1
после того как прочилал тему решил сам попробывать... только через фреймы...
данный пример сделал исключительно ради интереса...
Цитата:

Scene 1
actions for frame 1
fscommand("showmenu", 0);
fscommand("allowscale", 1);
stop();
actions for main
onClipEvent (load) {
stop();
}
actions for button
on (rollOver) {
if (main._currentframe>2) {
main.gotoAndPlay(2);
} else {
main.gotoAndPlay(1);
}
}
on (rollOut) {
main.gotoAndPlay(4);
}
Symbol Definition(s)
main
actions for frame 1
i=0;
MC=ball;
n=Math.round (ball._totalframes);
actions for frame 2
if (i>=0 && i<n) {
i++;
} else if (i=n) {
stop ();
}
MC.gotoAndStop(i);
actions for frame 3
gotoAndPlay (_currentframe-1);
actions for frame 4
if (i>1) {
i--;
} else if (i==0){
stop();
}
MC.gotoAndStop(i);
actions for frame 5
gotoAndPlay (_currentframe-1);
actions for ball
onClipEvent (load) {
stop();
}
работает на 100% если бедут пожилания пишите...

Nox Noctis 26.08.2002 02:40

мда... :rolleyes:

"строили мы строили, и наконец - построили. да здравствуют мы. ура." © чебурашка :D

DeliMIter 26.08.2002 11:16

2fiot

"Да ребята, учиться вам еще и учиться" (с) Иван, JA2.

P.S. Ничего личного, просто вспомнилось:)))))))))

fiot 26.08.2002 12:11

сетяни вы чего ??? я на флеш основательно подсел месяц назад...
пишите баг репорт если что не так...
а вообще для полной красоты нужно дописать
on (rollOver, dragOver) {
if (main._currentframe>2) {
main.gotoAndPlay(2);
} else {
main.gotoAndPlay(1);
}
}
on (rollOut, dragOut) {
main.gotoAndPlay(4);
}

/* если будет время и жедлание сделаю просто отдельную компоненту... хотя не нужно придумывать велосипед.. просто нужно поискать... - в сети есть всё...*/

DeliMIter 26.08.2002 13:43

То что ты не кричишь и не плюешься - уже хорошо. Просто юмор у нас такой. Да.

Nox Noctis 26.08.2002 13:55

да лан, я верю, что там все работает, только вот разобраться в твоем варианте - даже не тянет :)
марсианский какой-то способ, если честно :)

fiot 30.08.2002 16:55

:D :D :D все мы с этой большой красной планеты :D :D :D

fiot 03.09.2002 12:23

now component !!!
 
Вложений: 1
знакомый где-то нашёл... довольно прикольно реализовано ;)

Nox Noctis 03.09.2002 19:19

хмм... любопытно :) через компоненту прикольнее :)

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


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

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