PDA

Просмотр полной версии : остановка и воспроизведение клипа


yarrkin
16.06.2005, 17:04
Измучался. Задача проста - мне надо во время проигрывания сцены управлять ей - нажимаем пробел - проигрывание останавливается, жмем еще раз - идет "плей" дальше.

По логике, должно получаться нечто следующее:
on (keyPress "<Space>") {
if (state == "paused") {
state = "playing";
play();
} else if (state == "playing") {
state = "paused";
stop();
}
};
state="playing";

Однако ни опыта работы с флэшем, ни опыта программирования на ActionScript недостаточно, что бы довести идею до ума. На что вешать скрипт (кнопку, мувиклип..)? Может, есть какое-то другое решение проблемы?

Мазафака
16.06.2005, 17:56
Мдяяя... Воистину легче сделать чем объяснить...
Кароче
Создаешь MovieClip (без разницы как он будет называться, но назовем его MC), внутри этого мувика создаешь кнопку, заходишь в режим редактирования кнопки и указываешь только область Hit (все остальное оставляешь пустым). Когда выйдешь из режима, она у тя будет прозрачно-голубая. Затем внутри клипа MC создаешь еще один кадр и копируешь туда кнопку. Затем в каждом кадре пишешь stop();. Теперь на кнопке в первом кадре пишешь:
on (keyPress "<Space>") {
_root.stop();
play();
}

А на второй кнопке во втором кадре пишешь:
on (keyPress "<Space>") {
_root.play();
play();
}

Если не понял, то при нажатии пробела скрипт адресует команду стоп к основной ленте и переходит к кадру где у нас кнопочка с командой плэй...
Уфф.. Вот и всё

dee2
16.06.2005, 18:01
всавляем в 1 фрейм код:

myListener = new Object();
myListener.onKeyDown = function () {
if(Key.isDown(Key.SPACE)) {_root.stop();}
}
Key.addListener(myListener);

yarrkin
17.06.2005, 19:03
Создаешь MovieClip...
--вырезано--
Уфф.. Вот и всё
Ех!.. я ведь не настоящий волшебник, а только учусь :)
1. Создаешь MovieClip - сделал
2. внутри этого мувика создаешь кнопку, заходишь в режим редактирования кнопки и указываешь только область Hit - сделал
3. Затем внутри клипа MC создаешь еще один кадр и копируешь туда кнопку - где именно создавать этот кадр, в начале, в конце, честно говоря, не просек :(
4. Затем в каждом кадре пишешь stop(); - в каждом кадре мувиклипа?.. а если у меня их тыщи - этих кадров-то... У меня видеоролик на несколько минут, который при скорости 25 кадров в секунду занимает очень много кадров.
5. А на второй кнопке во втором кадре пишешь - откуда вторая кнопка взялась, если речь шла только об одной?
В общем, спасибо за помощь, но "нтеллекта" не хватило у меня ей воспользоваться :) Будем рыть дальше.

DOG-Paul
17.06.2005, 19:34
Мазафака не супер вариант предложил, но раз уж о нём речь, то вот:
3) ну в клипе где у тебя кнопки будут. Ты уже сделал там одну кнопку, сделай в этом клипе второй кадр и скопируй туда эту кнопку!!!
4) пиши stop(); на кадрах мувика с кнопками
5) вот тебе две кнопки! код на кнопки написан выше!!!

НЕ ТОРМОЗИ!!!

yarrkin
17.06.2005, 21:05
кажется, получилось, правда, пока только в том случае, если я видео (которое, собственно, и хочу останавливать) кладу на сцену целиком в один слой, мувик мс - в другой.
а вот если видео у меня лежит как символ, то его уже остановить не удается. я так понимаю, загвоздка опять во мне - надо четче усвоить иерархию объектов и как к ним обращаться.
всем спасибо.

Скив
17.06.2005, 21:12
ну так ты если ложешь его как символ вставь кнопку в тот же символ

или же другой вариант
в поле инстанс назови свой символ "а" и вместо "_root" везде вставь "а"

сникерсни

D-MAN
18.06.2005, 11:43
везде вставь "а"_root.a

сникерсни ;)

серг22
11.07.2005, 20:48
а не проще ли сделать прозрачную кнопку и запехнуть ее в мувик с параметрами стоп и плэй при нажатии пробела?