Пояснение. Сценарии кнопок. Сценарии клипов
Пояснение В задании №1 мы управляли анимацией, которая находится на временной оси корневого символа _root. Вообще можно управлять анимацией любого символа. Задание № 3 1. Создайте новый документ и назовите его слой " Небо". Сделайте фон документа синим. 2. Создайте символ " звезду".
3. Анимируйте звезду. Она должна пульсировать и менять цвет. 4. Разместите звезды на слое. Сделайте их разного размера и поворота. 5. Нажмите Ctrl + Enter и посмотрите на свое небо. 6. Звезды пульсируют синхронно, что не совсем естественно выглядит. Чтобы заставить их начинать проигрывать свою анимацию с разных кадров, необходимо написать соответствующий код. Чтобы можно было программно управлять звездами, надо дать им имена. Выделите их по очереди и на панели Свойств (PROPERTIES) внесите имя в поле, располагающееся под типом.
7. Звезды должны мигать по разному, то есть их анимация должна начинать проигрываться с разных кадров. Для реализации такого поведения надо использовать метод gotoAndPlay(номер_кадра). Никакой кнопки для начала проигрывания анимации звезд с разных кадров не надо. Если код записать в сценарии кадра, то он будет выполнен сразу при переходе на кадр. Для перехода в окно сценария кадра надо на временной оси выделить нужный ключевой кадр и нажать клавишу F9. Контрольные вопросы к лабораторной работе №2 1. Методы клипа (movie clip), позволяющие управлять проигрыванием его анимации. 2. Создание всплывающихъ подсказок. 3. Как встроить флеш в html-страничку? 4. Управление проигрыванием основного ролика. 5. Управление проигрыванием анимации символа типа MovieClip. 6. Создание сценария кадра. 7. Вопросы по коду заданий.
Лабораторная работа №3 Тема: Cвойства клипов. Сценарии кнопок и клипов Отчет: Файлы с выполненными заданиями. Обработка событий MovieClip в стиле ActionScript 1. 0 ActionScript 2. 0 поддерживает создание сценариев клипов и кнопок (стиль ActionScript 1. 0). Сценарии кнопок Создание сценариев кнопок рассматривалось в предыдущей лабораторной работе. При обращении к свойствам основного ролика (_root), в сценарии кнопки, расположенной непосредственно в _root, имя объекта можно опускать on(press){ _xscale+=10; //эквивалентно _root. _xscale } Если же кнопка, для которой пишется сценарий, находится внутри другого объекта, то отсутствие имени объекта будет означать обращение к родительскому объекту. on(press){ _xscale+=10; //эквивалентно _parent. _xscale } Указатель this является указателем на родительский объект. При ссылке на объекты можно опускать имя родительского объекта, общего для кнопки со сценарием и этого объекта. Например, объект clip и кнопка b_btn находятся внутри клипа m_mc. В обработчике кнопки b_btn к объекту clip можно обратиться m_mc. clip и просто clip. Сценарии клипов Код сценария клипа размещается в самом клипе и имеет вид onClipEvent(событие){ действия } Для открытия окна сценария клипа надо выделить клип и открыть окно Actions. } В его заголовке появится Actions — Movie Clip. Кроме этого можно применять обработчики событий on, которые применяются для кнопок. on(событие){ действия } При обращении к свойствам фрагмента ролика, для которого пишется сценарий, имя объекта можно опускать. onClipEvent (mouseDown) { _х+=10 //”хозяин” сценария перемещается вправо } Указатель this является указателем на фрагмента ролика, для которого пишется сценарий. При ссылке на вложенные объекты надо опускать имя родительского объекта или использовать указатель this. Например, фрагмента ролика clip_mc находится внутри фрагмента ролика m_mc. В сценарии фрагмента ролика m_mc к объекту clip_mc можно обратиться this. clip_mc, _root. m_mc. clip_mc или просто clip. При обращении m_mc. clip_mc на самом деле будет подразумеваться объект m_mc. m_mc. clip_mc.
События мыши Событие press наступает при нажатии кнопки мыши над объектом, а событие mouseDown — при нажатии кнопки мышки в любом месте. Событие release наступает при отпускании кнопки мышки над объектом, releaseOutside — при отпускании кнопки мышки вне объекта, а mouseUp — при отпускании кнопки мышки в любом месте. Событие rollOver наступает при вхождении указателя мышки в область объекта, rollOut — когда указатель мышки выходит за пределы объекта. Событие rollOver наступает при вхождении указателя мышки в область объекта, rollOut — когда указатель мышки выходит за пределы объекта. Если нажать кнопку мышки в области объекта и вывести указатель мышки за пределы объекта, то наступает событие dragOut. Если после этого ввести указатель в область объекта (не отпуская кнопку мышки), то для объекта наступит событие dragOver. Свойства объектов MovieClip Свойства _x и _y определяют координаты объекта в системе координат родительского клипа. Ось X клипа направлена вправо, а ось Y — вниз. Первоначально направление осей вложенного и родительского клипов совпадают. При повороте клипа поворачиваются оси его локальной системы координат относительно осей координатной системы родительского клипа. Угол поворота определяется свойством клипа _rotation. Размеры символов определяются значениями свойств _height (высота) и _width (ширина) в пикселах. Следующий код сделает размеры символа m_mc 100х200 пикселов m_mc . _ height =100; m_mc . _ width =200; Размеры символов определяются в системе координат самого символа. Изменение размера можно задавать и в процентах к первоначальному значению. Чтобы увеличить высоту на 20% и ширину на 10%, надо выполнить следующий код m_mc . _ xscale =110; m_mc . _ yscale +=20; Задание №1 1. Cоздайте два символа типа MovieClip в виде квадрата с стороной 50 пикселов и треугольника с нижним основанием 50 и высотой 75. Точка регистрации обоих символов в центре.
2. Затем создайте новый символ, содержащий экземпляр квадрата с именем rec_mc и экземпляр треугольника с именем tri_mc. Координата _y внутренних объектов rec_mc и tri_mc должна равняться нулю. Координата _x у квадрата равна -30, а у треугольника +30.
Cоздайте экземпляр нового символа с координатами (300; 200) и назовите outer_mc. 3. Создайте кнопку, при нажатии которой выполняются следующие действия: ¨ вывод координаты клипа outer_mc и вложенного в него rec_mc; ¨ перемещение outer_mc на 50 пикселов по горизонтали и по вертикали; ¨ вывод координаты клипов outer_mc и rec_mc после перемещения; // вывод координат родительского outer_mc и //дочернего rec_mc клипов trace(" Начальные координаты" ); trace(" _root. outer_mc. _x=" + _root. outer_mc. _x + " _root. outer_mc. _y=" + _root. outer_mc. _y); trace(" _root. outer_mc. rec_mc. _x=" +_root. outer_mc. rec_mc. _x + " _root. outer_mc. rec_mc. _y=" + _root. outer_mc. rec_mc. _y); // перемещение клипа outer_mc _root. outer_mc. _x+=50; _root. outer_mc. _y+=50; //вывод координат клипов после перемещения trace(" Координаты после перемещения outer_mc" ); trace(" _root. outer_mc. _x=" + _root. outer_mc. _x + " _root. outer_mc. _y=" + _root. outer_mc. _y); trace(" outer_mc. rec_mc. _x=" + outer_mc. rec_mc. _x + " _root. outer_mc. rec_mc. _y=" + _root. outer_mc. rec_mc. _y); 4. При тестировании флеша, в окне Output появится: Начальные координаты _root. outer_mc. _x=300 _root. outer_mc. _y=200 _root. outer_mc. rec_mc. _x=-30 _root. outer_mc. rec_mc. _y=0 Координаты после перемещения outer_mc _root. outer_mc. _x=350 _root. outer_mc. _y=250 _root. outer_mc. rec_mc. _x=-30 _root. outer_mc. rec_mc. _y=0 Координаты внешнего объекта outer_mc задаются относительно основного клипа _root, поэтому при перемещении outer_mc его свойства _x и _y изменились. Расположение внутренних объектов outer_mc относительно его точки регистрации при перемещении всего outer_mc не изменилось, следовательно локальные координаты внутреннего клипа rec_mc не должны измениться. Задание №2 1. К заданию №1 добавьте кнопку, нажатие которой вызывает перемещение внутреннего объекта rec_mc по горизонтали вправо на 50 пикселов и вывод координаты.
_root. outer_mc. rec_mc. _x+=50; trace(" Коорд. после перемещения внутрен. объекта rec_mc" ) trace(" _root. outer_mc. _x=" + _root. outer_mc. _x + " _root. outer_mc. _y=" + _root. outer_mc. _y); trace(" _root. outer_mc. rec_mc. _x=" +_root. outer_mc. rec_mc. _x +" _root. outer_mc. rec_mc. _y=" + _root. outer_mc. rec_mc. _y); 5. После тестирования увидим в окне Output следующее: Координаты после перемещения внутренего объекта rec_mc _root. outer_mc. _x=300 _root. outer_mc. _y=200
_root. outer_mc. rec_mc. _x=20 _root. outer_mc. rec_mc. _y=0 Так как точка регистрации outer_mc не изменилась, координаты родительского объекта остались прежними. Смещение внутреннего объекта привело к изменению его локальных координат. Задание №3 Посмотрим, что происходит с координатами при повороте (свойство _rotation). Добавим кнопку, нажатие которой вызывает поворот внешнего объекта outer_mc на 45о и вывод координат outer_mc и rec_mc.
_root. outer_mc. _rotation+=45; // поворот по часовой стрелке trace(" Координаты после поворота outer_mc" ); trace(" _root. outer_mc. _x=" + _root. outer_mc. _x + " _root. outer_mc. _y=" + _root. outer_mc. _y); trace(" _root. outer_mc. rec_mc. _x=" + _root. outer_mc. rec_mc. _x + " _root. outer_mc. rec_mc. _y=" + _root. outer_mc. rec_mc. _y); В окне Output увидим, что не изменились координаты ни outer_mc, ни rec_mc. Координаты после поворота outer_mc _root. outer_mc. _x=300 _root. outer_mc. _y=200 _root. outer_mc. rec_mc. _x=20 _root. outer_mc. rec_mc. _y=0 Задание №4 Добавим кнопку для поворота квадрата rec_mc на 45о. Вывести координаты outer_mc и rec_mc до и после поворота.
Координатами объекта являются координаты его точки регистрации. Поворот осуществляется вокруг точки регистрации, она же является и началом координат. Поэтому координаты объектов не изменяются при повороте. Размеры клипа. Свойства _height, _width, _xscale, _yscale Высота клипа определяется его свойством _height, а ширина — _width. Значения этих свойств определяются в системе координат родительского клипа и зависят от масштаба ее осей. Узнать или изменить масштаб координатных осей клипа можно с помощью свойств _xscale и _yscale. Измеряются значения этих свойств в процентах по отношению к масштабу осей недеформированного клипа. Ширина и высота клипа не могут принимать отрицательные значения. Масштаб _xscale и _yscale может быть и отрицательным! При отрицательном масштабе происходит изменение направления соответствующих осей на противоположное. Задание №5 1. Создать символ clip, который содержит два внутренних символа: круг с именем circle и квадрат с именем square. Начало его системы координат расположить в центре круга.
2. Создать кнопку, нажатие которой выводит в Output координаты и размеры родительского клипа clip и дочернего sguare. Затем в два раза растягиваем родительский клип по оси X и повторяется вывод.
3. Создать дубликат символа clip. Сместить круг и квадрат таким образом, чтобы координата х круга была равна 100.
Разместить экземпляры символов clip и его отредактированного дубликата друг над другом. Провести через центры кругов линию.
Создать кнопки, нажатие которых сжимает оба экземпляра по горизонтали в два раза, растягивает в два раза и восстанавливает первоначальные размеры.
Почему после сжатия или растяжения один сместился относительно второго. Изменились ли координаты?
азные Задание №6 1. Создать новый документ Flash. 2. Назвать его слой " Клип". 3. Создать любой символ и назвать его экземпляр clip_mc. 4. В сценарии клипа запрограммировать следующее его поведение: · при щелчке мышкой clip_mc растягивается по оси Х на 10%; · при нажатии кнопки мышки clip_mc поворачивается на 15о, при отпускании — возвращается в прежнее положение; · при движении мышки над клипом он " бледнеет" на 10%, при уходе мышки из области клипа — восстанавливает свой цвет. 5. Протестировать флеш.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|