json spirit

完整的时间轴控制,导入和导出JSON,检查动画,直观的界面,实时编辑,易于理解的API,针对速度和实时反馈:创建和管理Web动画时,您可能希望在图形用户界面中进行所有操作。 在本文中,我们将介绍Patrick Brouwer为Web动画设计者提供的称为Spirit的最新工具。 我们将学习它如何改变您在网络上创建动画的方式。 让我们动起来!

起床并跑步

精神分为三个部分,要求:

  1. 桌面应用程序(时间轴)。
  2. 运行时(JavaScript文件)。
  3. 浏览器扩展程序,使您可以通过在应用程序和运行时之间进行通信来连接到任何网页。

桌面应用程序是用于创建和管理动画的GUI(图形用户界面),而浏览器扩展程序则在其相应的桌面应用程序和您的网页之间建立连接。

该应用程序当前可用于Mac,但不久后将可用于Windows和Linux。 目前,Spirit的浏览器扩展严格是Chrome,但其他主要浏览器(Firefox,Opera和Safari)的兼容扩展也在开发中。

当所需的每个组件都准备就绪时,您可以开始动画开发。 打开应用程序,使用浏览器导航到所需的网页URL,启用扩展程序并开始动画制作!

在本地发展的提示

如果您想从本地文件系统制作网页动画,请确保在chrome扩展名设置中选中允许访问文件URL复选框。

建议您在本地开发时为要设置动画的每个元素添加一个data-spirit-id

<!--first group-->
<div data-spirit-id="foo">…</div>
<!--second group-->
<ul data-spirit-id="bar">…</ul>

这使使用GUI来编辑元素的时间线更加容易,并且使运行时更容易选择目标,而无需使用基于元素CSS选择器(例如body > div > div > ul )。

运行时播放器

Spirit使用所谓的“运行时(播放器)”。 如果您访问的网页没有Spirit运行时,则浏览器扩展将自动为您注入一个临时运行时。 运行时只是一个JavaScript文件(〜10kb),因此只要您听到“运行时”一词就对自己说“ JavaScript文件”。

<script src="spirit.js"></script>

运行时使您可以直接在网页上播放动画,并利用GSAP的功能播放所有动画。 这意味着您可以使用特定于GSAP的属性以及诸如drawSVGmorphSVG类的插件,以及仍在开发中的其他动画策略( WAAPI )。

如果您希望贡献自己的时间来帮助维护或增强它,则可以通过开放源代码获得运行时。 如果您希望将运行时播放器安装为NPM软件包,则可以从终端输入安装命令npm install spiritjs --save ,或者可以使用其安装命令yarn add spiritjs尝试给Yarn尝试。

时间线检查器

您是否是网络动画设计师,正在寻找易于控制,导航和使用的时间轴?Spirit支持您,其优雅而直观的界面为您提供了许多微调创作的选择。 可以清理时间轴并轻松添加关键帧。 但是,排序元素是一个有待实现的功能。 如果您是实时开发的,则可以根据需要添加或删除元素。 工作完成后,请单击“ 后退”按钮,导出包含进度的JSON文件,并在需要时使用Spirit Spirit运行时 API进行加载。

每个关键帧都可以在时间安排和缓动方面进行微调。 添加和删​​除它们也很简单。 元素在时间线检查器中垂直列出,并且每个元素都有自己的时间线。

动画每个属性的值可以是运行时接受的任何值。 甚至有可能将JavaScript代码用作传递值,使用鼠标事件,滚动和位置检测等功能来生成动态灵活的元素。 确保使用诸如{ window.innerWidth - this.clientWidth }这样的花括号来包装属性值JavaScript逻辑。

每个元素可以具有许多可用于设置动画的属性,包括与strokefillcolorpositionsize有关的特定SVG属性。 您甚至可以选择clip-pathsfiltersbox-shadowz-index进行动画处理。 如果提供的默认属性不符合您的需求,那么也可以添加自定义属性。 确保传入的自定义属性与W3C规范记录CSS属性名称一致。

了解“组”

动画组是您要设置动画的对象(HTML元素)的集合。 将组视为“组件”,其中每个组都可以导出为JSON。

您可以根据需要创建任意多个组,并控制每个组。 通过直接从网页中选择每个组或通过Chrome Devtools中的“ 元素”面板轻松地创建新组并添加新元素。 当捕获的元素没有data-spirit-id属性时,它具有的唯一引用是XPath (相对于所选根目录),因此最好在生产开发调用时创建属性引用。

var tl = new TimelineMax()
spirit.setup().then(() => {
spirit.load('./my-animations.json').then(groups => {
// construct all groups
groups.construct();
// control the firing sequence of each group using GSAP
tl.add(groups.get('group-name'), 0).add(groups.get('group-anothergroupname'), '-=0.25').add(groups.get('group-yetanothergroupname'), '+=0.125')
})
});

群组实际上只是GSAP时间轴的集合,因此,如果您已经是GreenSock的用户,这将是您工作流和工具的一个受欢迎的补充。 无法使用桌面应用程序(将来的功能请求)立即控制组,但是可以使用Spirit的高级API缓解此问题,因为它的运行时将GSAP API用于上面代码中反映的时间轴实例。 您还可以查看由Spirit的制造商创建的此演示,展示将主时间轴序列与UI控件和多个组配合使用:

Spirit的API

正如我在有关组的先前说明中所讨论的那样,Spirit为需要更深入控制的开发人员提供了一个API。 提供了两个API。 一个简单的API和一个高级API。

spirit.loadAnimation({
container: element, // dom element that contains animation
loop: true,
yoyo: true,
delay: 2
})

尽管高级API可以进行广泛的控制,但简单的API可以涵盖诸如通过一系列选项控制播放之类的任务。 您甚至可以返回值,加载组并添加交互性。

spirit.setup()

高级API可以满足您在简单API之外的所有其他需求。 在使用高级API之前,您需要告诉运行时可以在哪里找到GSAP TweenTimeline实例。 在调用Spirit的setup方法之后,防洪闸将打开,使您能够执行时间轴构建和引用,交互性,关键帧和属性引用等操作。

离别的想法

使事情保持同步很重要,尤其是对于Spirit有效运行而言。 Spirit桌面应用程序会在后台自动进行自我更新,因此您始终可以轻松获得最新版本的安装和最新功能。 通过自动更新Spirit应用程序,可以更轻松地迭代和实现新功能。 Chrome扩展程序也在后台更新。 浏览器每隔几个小时检查一次已安装的扩展程序或应用程序是否具有更新URL。 对于每一个,它都会向该URL发出请求,以寻找更新的清单XML文件。

转到chrome://extensions ,然后选中右上角的开发者模式复选框,然后按立即更新扩展按钮。 通过确保适当的设置,添加新功能和更新数据后,Spirit可以进行操作而不会导致意外行为。

如果您想掌握Spirit的新功能和进度,可以在这里注册他们的新闻通讯,以及在Twitter上关注进度。 Spirit绝对是可以改变您创建网络动画的方式的工具。

有用的链接

  • spiritapp.io
  • Spirit App文档
  • GreenSock文档
  • Web动画草稿规范
  • 入口

翻译自: https://webdesign.tutsplus.com/articles/spirit-app-easy-realtime-animation-for-the-web--cms-30111

json spirit

json spirit_Spirit App:Web实时轻松动画相关推荐

  1. web高德maker动画_Web Maker,一种基于浏览器的离线CodePen替代品

    web高德maker动画 In this article, Kushagra Gour introduces Web Maker, a browser extension he created for ...

  2. WEB 实时推送技术总结

    前言 随着 Web 的发展,用户对于 Web 的实时推送要求也越来越高 ,比如,工业运行监控.Web 在线通讯.即时报价系统.在线游戏等,都需要将后台发生的变化主动地.实时地传送到浏览器端,而不需要用 ...

  3. web高德maker动画_Web Maker —我如何构建一个快速的离线前端游乐场

    web高德maker动画 by kushagra gour 由kushagra gour Web Maker -我如何构建一个快速的离线前端游乐场 (Web Maker - How I built a ...

  4. Web 实时推送技术如何弥补 HTTP 协议的缺陷? | 技术头条

    作者 | 浪里行舟 责编 | 郭芮 人工智能的现状及今后发展趋势如何?  https://edu.csdn.net/topic/ai30?utm_source=csdn_bw 随着 Web 的发展,用 ...

  5. Web 实时推送技术的总结

    前言 随着 Web 的发展,用户对于 Web 的实时推送要求也越来越高 ,比如,工业运行监控.Web 在线通讯.即时报价系统.在线游戏等,都需要将后台发生的变化主动地.实时地传送到浏览器端,而不需要用 ...

  6. Python Web实时消息后台服务器推送技术---GoEasy

    越来越多的项目需要用到实时消息的推送与接收,怎样实现最方便呢?我这里推荐大家使用GoEasy,它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEasy推送 支持we ...

  7. C# Web实时消息后台服务器推送技术---GoEasy

    越来越多的项目需要用到实时消息的推送与接收,怎样实现最方便呢?我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEasy推送 支持w ...

  8. ASP.NET Web实时消息后台服务器推送技术---GoEasy

    越来越多的项目需要用到实时消息的推送与接收,怎样用ASP.NET实现最方便呢?我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEa ...

  9. C# Web实时消息后台服务器推送技术-GoEasy

    越来越多的项目需要用到实时消息的推送与接收,怎样用C#实现最方便呢?我这里推荐大家使用GoEasy, 它是一款第三方推送服务平台,使用它的API可以轻松搞定实时推送! 浏览器兼容性:GoEasy推送 ...

最新文章

  1. R使用lm构建多变量线性回归模型
  2. centos7 php配置,CentOS7 下nginx与PHP的安装与配置
  3. leetcode 1: 找出两个数相加等于给定数 two sum
  4. spring和mybatis整合:使用xml方式
  5. 怎么把程序内部坐标转为屏幕坐标_全网最详细CNC加工中心程序代码大全!
  6. kubeadm 部署全过程问题解决记录
  7. mysql命令行导入url_Mysql 导入数据,推荐Source命令,太快了
  8. 哈希表(HashTable),哈希冲突的避免、解决
  9. c语言666题目,c语言题目及答案
  10. (转)版本管理工具介绍——SVN篇(一)
  11. 美国街头出现怪异无人车:3个激光雷达垂直叠放
  12. IE下常见兼容性问题
  13. 学习LoadRunner之C语言函数
  14. MySQL数据库索引查询
  15. php公物管理系统,开源客户管理系统 fly-crm
  16. 利用 netDxf与DocumentUltimate 生成CAD钻孔柱状图
  17. C++ 自定义String类
  18. 仿ios相机apk_iCamera摄像头下载|iCamera仿苹果相机安卓版v4.0下载 _当游网
  19. 传说中的100句子记忆7000单词(51-100句)
  20. vconsole 轻松实现移动端调试

热门文章

  1. 制作自己的Tomcat镜像
  2. Thinkpad x60 Bios设置指南
  3. 知道创宇区块链安全实验室|二月安全事件总结与回顾
  4. 是否该读博士(ZZ)
  5. DAPLink简单移植
  6. win10默认浏览器里多余了一个无效选项
  7. 电源硬件设计----升压(Boost)变换器基础
  8. 图形图像处理案例3——爱心螺旋画,双心螺旋画
  9. C语言小白初试 7-1 求一元二次方程的根 (20 分)
  10. hr 0x800401f0 尚未调用 CoInitialize