Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
Топ:
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Установка замедленного коксования: Чем выше температура и ниже давление, тем место разрыва углеродной цепи всё больше смещается к её концу и значительно возрастает...
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2017-09-30 | 417 |
5.00
из
|
Заказать работу |
|
|
Цель: научиться применять анимацию к различным свойствам svg-фигур, создавать анимацию трансформаций.
Теория
SMIL (the Synchronized Multimedia Integration Language) – язык разметки, c помощью которого осуществляется анимация в SVG. В SVG каждой отдельной геометрической фигуре можно присвоить свои инструкции по поведению, каждый элемент может стать актером на сцене – холсте. Как и SVG, SMIL представляет из себя простой XML.
Тег <animate> анимирует отдельные свойства. Можно прописать тег <animate> непосредственно в теге фигуры с указанием анимированного свойства в параметре attributeName. В примере анимируется свойство cx, расположение по оси x изменяется от 100 до 300px:
<circle cy="70" r="50" fill="red">
<animate attributeName="cx" from="100" to="300"dur="5s"/>
</circle>
Анимируемыми свойствами могут быть также толщина обводки stroke-width; радиус в круге или размеры в других фигурах; заливка (при этом изменение заливки можно задавать от цвета к цвету); прозрачность opacity от 0 до 1, пунктирная заливка stroke-dasharray и др.
Ниже приведены различные примеры:
<animate attributeName="fill" from="blue" to="red"dur="6s" repeatCount="indefinite"/>
<animate attributeName="fill" values="red; yellow; green; #0000ff <!-- несколько промежуточных значений цвета--> dur="15s" fill="freeze"/>
Можно задавать сразу несколько анимаций, и они будут выполняться одновременно, для последовательного выполнения можно задать атрибут begin.
<animate attributeName="fill" from="red" to="blue" dur="6s" begin="0s" repeatCount="indefinite" />
<animate attributeName="fill" from="blue" to="red" dur="6s" begin="6s" repeatCount="indefinite" />
В теге <animate> можно ссылаться на анимируемый объект через его id:
|
<circle id="myelement" r="50" cx="100" cy="70" fill="red"/>
<animate xlink:href="#myelement" attributeName="fill" from="red" to="blue" dur="5s"/>
Тег <animateTransform> предназначен для создания анимации трансформаций, вид трансформации указывается в атрибуте type.
<rect x="5" y="10" width="50" height="25" fill="grey"> <animateTransform attributeName="transform" attributeType="XML" type="scale" from="1" to="4" dur="5s" fill="freeze"/></rect>
<animateTransform xlink:href="#mygroup" attributeName="transform" attributeType="XML" type="rotate" from="0, 60 50" to="45,60,50" dur="5s" additive="sum" fill="freeze"/>
Для обработки событий мыши можно воспользоваться тегами анимации с атрибутами begin и end.
Например:
begin="mousedown" end="mouseup" или begin="mouseover".
Задания к лабораторной работе № 7
Задание 1. Напишите коды следующих анимаций для любого примитива (круг, прямоугольник):
- перемещение по прямой;
- изменение размера (радиуса);
- изменение цвета при одновременном перемещении по оси X;
- изменение толщины обводки.
Задание 2. Примените анимацию трансформации для изменения размеров любого svg-контура из предыдущей работы.
Задание 3. Добавьте обработку событий в любую из созданных ранее анимациий.
Для эффекта постепенной прорисовки необходимо установить свойства stroke-dasharray (длина штриха) и stroke-dashoffset (сдвиг штриха) равными длине контура (подбирается на глаз, например 500px), а затем любыми известными уже нам способами установить свойство stroke-dashoffset в 0.
Задание 4. Создайте новый html файл с svg-изображением. Скопируйте svg-код иконки из предыдущей лабораторной работы. Увеличьте масштаб при помощи параметра viewBox. Если в этом параметре задать размер меньше, чем в параметрах высоты и ширины svg области, то изображение зрительно увеличится. В примере кода изображение увеличено в 2 раза.
<svg width="400" height="200" viewBox="0 0 200 100">
Задание 5. Задайте контуру свойства stroke-dasharray и stroke-dashoffset. Примените эффект прорисовки при помощи команды
<animate attributeName="stroke-dashoffset"…..>
|
|
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!