![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Здравствуйте, люди!
Тема не новая, но я всё перерыла, так и не нашла ничего. Поэтому решила задать вам вопрос. Скажите, пожалуйста, вот как всё-таки связать полосу воспроизведения в одной swf и кадры в другой (подгружающейся) swf, так, чтобы можно было ею управлять: перематывать на любое место (как в плеере). Пауза и плей - это понятно. А как вот так сделать, чтоб при воспроизведении swf перемещался бегунок на полосе? Или, при его перемещении, swf перематывался на соответствующее место? Помогите советом, пожалуйста. Это для меня прям загадка. ![]() |
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Спасибо, но я ничего не поняла
![]() |
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Тааак, уже что-то похожее на то, что я спрашивала!
![]() Пока пытаюсь разобраться!!! Там не хватает ваших комментариев. ![]() Добавлено через 10 минут Начались вопросы: ![]() что такое this.pressed, this.pressStartX - ? |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Цитата:
pressStartX - численная переменная, хранящая локальное положение мышки на момент нажатия на кнопку. Это для того, чтобы бегунок (кнопка) двигалась "зацепившись" при нажатии тем местом, на которое нажали мышкой.
__________________
hauts.ru |
|
|||||
|
Всё достаточно просто. Рисуете скроллер. Программируете его как вам нравится. Затем смотрите общее количество кадров _totalframes подгруженной флешки и при скроллинге высчитываете пропорционально какой точке скроллера соответствует какой кадр от общего количества кадров. Таким образом становится ясно на какой кадр нужно перемотать. Перематываете просто через gotoAndStop(цифраКадра) или gotoAndStop(цифраКадра)
__________________
Играй. Это жизнь. Всё повторяется. Играй. |
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Цитата:
![]() Я только смогла разобрать присланный исходник, но всё-равно, некоторые вещи остались непонятны. Например, я не могу найти место в коде, которое означает, что флешка полностью проиграна (и сейчас начнет играть снова). |
|
|||||
|
Псевдокод
//определяем отношение в для одного процента кадров и длины отношениеКадров=флешка.количествоКадров/100; отношениеДлины=скролл.длинаСкролла/100; нужныйКадр=округлить(скролл.координатаМыши/отношениеДлины*отношениеКадров);//но прежде убеждаемся, что координата мыши попадает под область скролла например хитТестом флешка.мотать(нужныйКадр); В данной функции читаем текущийФрейм флешки и позиционируем скроллер по считанному значению. Также можно добавить в данной функции сравнение текущегоФрейма и количестваФреймов, так будет просто определить что флешка подошла к концу. Разумеется это только один из способов. На ум пришло ещё как минимум 4. И ещё один маленький момент. Разбирать готовый код, для того чтобы решить задачу не самая лучшая практика. Хотя, конечно, у каждого свои методы в решении задач. Но как то вот пришёл к такому умозаключению. Проблема в том, что с готовым кодом проще повторить решение - нежели научиться его генерировать. Главное не отступайте. Не в этой задаче, не в какой либо другой. И всё обязательно получится. Какой-то щелчок в голове, и решение - вот оно. Проблема в том, что оперируя с готовыми решениями можно так и не придти к этому состоянию. Удачи вам. Если будут какие вопросы - пишите.
__________________
Играй. Это жизнь. Всё повторяется. Играй. |
|
|||||
|
Регистрация: Sep 2010
Адрес: Saint-Petersburg
Сообщений: 143
|
Я вот как раз пыталась сделать плеер самостоятельно, но почему-то у меня постоянно что-нибудь не работало (ну и самая большая сложность, что я не смогла сделать - зависимость положения ползунка от кого, на каком кадре проигрывается флешка).
Делала что-то типа того, что вы написали, но немного примитивнее (потому и не работало, видимо). В том примере, который мне дали здесь, я пыталась задать условие, чтобы при нахождении на последнем кадре, подгружаемая флешка останавливалась. Но оно как-то странно работало (но не так как надо). Поэтому я не пойму, как ещё определить, что флешка находится на последнем или на 1 кадре. (То есть при первом запуске первый кадр определяется, а при повторном воспроизведении - нет). ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|