我有一个StackOverflow词:
<h1>StackOverflow</h1>
如何为这个词创建动画效果,例如,以波浪的形式,同时将一种颜色注入另一种颜色?
我正在想象以下动画脚本:
- 字母颜色从左到右依次变化
- 每个字母从原始字体大小依次增加
- 以相反的顺序将字体大小更改为原始大小
- 将字母的颜色改回原来的颜色
- 动画循环
如何使用问题标签中提到的任何技术实现此类动画的类似场景?
我有一个StackOverflow词:
<h1>StackOverflow</h1>
如何为这个词创建动画效果,例如,以波浪的形式,同时将一种颜色注入另一种颜色?
我正在想象以下动画脚本:
如何使用问题标签中提到的任何技术实现此类动画的类似场景?
我不喜欢框架,我不假装什么,只是给你一个很酷的效果:
要以字母的形式排列点,请使用画布,在其上绘制所需的文本。
第一步是生成很多点,并检查每个点是否命中文本掩码,您可以通过点的坐标检查像素的颜色值来做到这一点,让它成为红色通道:
放置好点后,可以对其进行动画处理,为此我们最初将每个点提升到\u200b\u200b负y值的区域添加与 x 坐标成比例的延迟,以从左到右进行动画处理。
最后的触摸是对指针的反应:这里一切都比较简单,我们计算指针到点的距离,如果小于某个阈值,我们将点坐标更改为取决于这个距离的值.
还有画布
更新 14.04。
回答问题
我实现了一个类似的场景:
h1将单词的每个字母包装在 titleStackOverflow中的单独内联元素中span。@keyframes设置公共关键帧,包括为所有元素制作动画时在其中包含必要的属性(字体大小和颜色)。from由于这样的动画选项具有中等复杂性,因此,to我还使用了百分比来代替关键字。animation-delay在等于 0.1 秒的间隔中按升序设置播放动画之前的等待时间。这就是我得到的结果:
stroke-dasharray使用谷歌字体
Tangerine这种方法很有趣,主要是因为不需要
stroke-dasharray为每个字母计算和编写每个字母的动画。一个就足够了整个短语该方法的本质是使用两个属性对
stroke-dasharrayДля первой буквы полная длина
355pxСкрываем линию до анимации
0,177.5 0,177.5черта=0пробел =177.5черта=0пробел =177.5итого вся линия скрытаПоказываем линию:
0,0,355,0- черта во второй паре атрибутов равна полной длине355поэтому линия полностью виднаТакой короткий вариант:
И полный вариант на CodePen
Простенькая анимация, которую я нашел на CodePen и решил поделиться ею с Вами. Автор кода: клик
UPD: Сделал что-то свое по примеру выше, на конкурс не претендую, но все же, прошу оценить.
代码写得很仓促,几乎没有什么可读性,至少有点清楚,我只是想参与:^
Не успел полностью доделать, не разобрался с подсветкой bloom Shader, хотел сделать звезды реалестичными))
Анимация раскраски и оживления слова STACK
Мы собираемся все вместе на Stackoverflow, со всех русскоговорящих территорий, чтобы получить удовольствие от любимого занятия программированием. Вот эту идею в условиях конкурса я попробовал выразить в анимации.
Буквы
STACKдвигаются по одной с различных направлений карты, чтобы собраться в словоSTACKи уже вместе продолжить движение,Для того, чтобы взаимное расположение карты и маршрутов движения, были всегда жестко связаны я использовал следующий приём:
Загрузил карту в векторный редактор и нарисовал маршруты для каждой буквы (красные линии) и маршрут движения для слова целиком.(синяя линия)
Скопировал все
pathмаршрутов в отдельный файл, в котором буду делать анимацию движения.У каждой буквы несколько анимаций:
``` Анимации покачивания ног требуют точного указания точки вращения, иначе нога будет летать отдельно от туловища буквы. Понадобится крайняя точка ноги.Имитация движения ног буквы при ходьбе
Рассчитать координаты этой точки поможет метод JS -
getBBox()Для анимации покачивания туловища вместе с ножками, понадобится центр вращения группы элементов, обернутых в тег
<g>Если есть желание разобраться, как работает приложение, прочитайте пожалуйста комментарии в коде
Чтобы выразить настроение, помогающее программированию, - выбрал трек
Bobby McFerrin don't worry be happyUpdate
Сделал анимацию более динамичной.
Усилил покачивание букв при движении, ускорил болтание ногами, чтобы попасть в ритм музыки, но не совсем это удалось.
Добавил анимацию закраски градиентом первой буквы