![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1.3 25.08.10]
Регистрация: Jun 2001
Адрес: Moscow
Сообщений: 18
|
Просьба подсказать простой способ создания программы во FlashMX, в которой пользовтель мог бы отмечать кнопкой мыши некоторые кадры, чтобы потом при повторном воспроизведении по кругу эти кадры автоматически бы исключались из показа.
__________________
VVP |
|
|||||
|
[+1.3 25.08.10]
Регистрация: Jun 2001
Адрес: Moscow
Сообщений: 18
|
Конечно все это мыслится с помощью программы на AS, который работает во Flash MX. Пока не получается метить кадры и исключать их из повторного просмотра
__________________
VVP |
|
|||||
|
Модрон-ветеринар
|
Какого вы хотите совета?
Неизвестно, как у вас физически пользователи будут отмечать кадры (останавливать воспроизведение или ловить кликами на лету) когда именно ролик будет проигрываться повторно. Слишком расплывчато вопрос задаете. При такой общей постановке вопроса могу такой вариант подсказать: Например, создайте массив и заносите туда при клике мыши значения _currentframe по мере первого воспроизведения. Это будут ненужные. Типа: var unnecess:Array = new Array(); //массив номеров ненужных кадров this.onMouseDown = function () { unnecess.push(_currentframe);//добавляем номера ненужных по мере первого воспроизведения }; this.stop(); var arrPosition:Number = 0; //текущее положение проверки массива ненужных кадров this.onEnterFrame = function () { if (_currentframe + 1 != unnecess[arrPosition])//если следующий за текущим кадром не является следующим игнорируемым { nextFrame(); //идем на след. кадр } else { gotoAndStop(_currentframe + 2); //если следующий за текущим является следующим игнорируемым, то перескакиваем через него arrPosition++; //и увеличиваем на 1 позицию проверки по массиву ненужных } } Разумеется, это не готовый код, а в большей степени базвая логика. Работать просто так это не будет. Все остальное дописывается по обстоятельствам. Они вам виднее, поэтому можете взять за основу мой совет. Ключевой момент здесь - это не отбор ненужных, а сама функция управления воспроизведением. Более "простого" способа в голову не приходит.
__________________
Идите первым! Последний раз редактировалось mooncar; 25.08.2010 в 01:12. |
|
|||||
|
[+1.3 25.08.10]
Регистрация: Jun 2001
Адрес: Moscow
Сообщений: 18
|
Спасибо! Идея понятна. И понятно, что недостаточно подробно изложил свою задачу. А она сводится к тому, что ученик должен листать страницы электронного учебника, при этом пользоваться кнопкой "Знаю", если учебное содержание ему понятно и кнопкой "Не знаю", если содержание еще не усвоено. При нажатии первой кнопки должны отмечаться понятые кадры, чтобы потом при повторном воспроизведении фильма (при переходе с последего кадра на первый) их исключить из предъявления, а предъявлялись только непонятые учебные материалы. При нажатии второй кнопки осуществляется просто переход к очередной странице. При последующих воспроизведениях всего учебника количество непонятых страниц должно уменьшаться и в конечном итоге сведется к нулю - тогда весь учебник будет усвоен.
Может быть эта более подробная информация позволит довести приведенный уже ранее код до уровня работающей программы. У меня пока это не получается. Заранее благодарен.
__________________
VVP |
|
|||||
|
Модрон-ветеринар
|
Нет, писать за вас ваши программы тут не принято. Разобраться с проблемой, помочь советом, накидать небольшой (или большой, если тема интересна) пример - да.
Обратитесь в раздел Вакансии с этим ТЗ. Или начните писать - хотя бы для начала саму листалку страниц.
__________________
Идите первым! Последний раз редактировалось mooncar; 25.08.2010 в 15:14. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
SharedObject вам в помощь для запоминания пропускаемых страниц.
|
|
|||||
|
[+1.3 25.08.10]
Регистрация: Jun 2001
Адрес: Moscow
Сообщений: 18
|
Просьба помочь разобраться. Приведенный ранее код не записывает номера отмеченных кадров и соответственно дальше не работает:
var unnecess:Array = new Array(); //массив номеров ненужных кадров this.onMouseDown = function () { unnecess.push(_currentframe);//добавляем номера ненужных по мере первого воспроизведения }; trace(_currentframe); this.stop(); var arrPosition:Number = 0; //текущее положение проверки массива ненужных кадров this.onEnterFrame = function () { if (_currentframe + 1 != unnecess[arrPosition])//если следующий за текущим кадром не является следующим игнорируемым { nextFrame(); //идем на след. кадр } else { gotoAndStop(_currentframe + 2); //если следующий за текущим является следующим игнорируемым, то перескакиваем через него arrPosition++; //и увеличиваем на 1 позицию проверки по массиву ненужных } }//То есть не давать ролику проигрываться самостоятельно
__________________
VVP Последний раз редактировалось iNils; 25.08.2010 в 21:53. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|