createjs之Easeljs
Easeljs是什么
easeljs是在HTML5构建高性能2D交互
的库,它提供了功能丰富的显示列表去允许你操作以及设置动画于图形。同时它对于鼠标以及移动端触摸交互
提供了强劲的交互模型。
它在构建游戏,广告,数据可视化,以及其他高度图形化方面表象优秀,他可以独立工作
,也可以配合createjs其他模块如:soundjs,preloadjs,tweenjs一起工作。
此外,它没有外部依赖
,可以与几乎任何框架保持兼容。
CDN URL: https://code.createjs.com/1.0...
常见的类
Easeljs定义的类,或者说API,参考了Flash的API,对于JS或者Flash开发者都比较好上手,如果是前端同学转去做H5动画,对于Flash还是要了解一下,因为这种框架不是从前端的眼界去出发的,有很多概念就是来自于视频的制作,动画的制作,比如什么是舞台,什么是精灵元素,什么是摄像机,这些都不是我们前端学习了解的范畴,但是如果涉入到动画这一板块,这些知识不了解,可是不行的。
- DisplayObject
Easeljs中所有显示元素的抽象基类,DisplayObject有点JS中Object的味道,定义了所有显示对象的共同显示属性,比如x,y rotation, scaleX, skewX, alpha, shadow等。 - Stage
显示元素的根级别容器,我们所有元素最后的显示都是依靠stage这个大容器实现的。如果有简单读过文档的同学应该知道,stage是绑定在canvas上的,也就是说,stage其实是canvas在Easeljs中的代理人
,我们在Easeljs中不会直接操作canvas,而是操作舞台stage,stage与canvas之间的操作完全交给Easeljs层面去处理。只有我们更新舞台stage,才会触发舞台上所有显示元素各种属性的更新,最后依托canvas呈现。 - container
如果将stage比作一个舞台,我们整个动画都是在舞台上进行的,动画就像是一出话剧。加入舞台上现在出演的话剧是A帮派 Vs B帮派,每个帮派都有很多人,如果我们为每一个人都规定相应的剧本,那就太麻烦了,我们可以将A.B分为两个组,定义好组的属性,我们在舞台上直接操纵组,就可以实现效果。同理container就是这样的作用,可以用来聚合显示对象并将其归为一个组进行操作。通过对组的操作,实现多个显示对象的统一动画行为。他和stage空间上是一样的,都是容器。 - Bitmap
比如操作图片,视频或者canvas都可以使用这个方法,可以将画布的显示属性将图像,视频或者画布绘制到画布上。
这个没啥说的,用图片必然要用Bitmap类实例对象之后,才能在stage中使用这张图,不然图片是不能使用的。 - Sprite
精灵,用来制作动画通过显示单个帧或者由spritesheet提供动画素材。一般来讲,用这个sprite,动画需要的素材,是设计师将动画每一帧的图都给出来,我们放在spritesheets中实例化数据后,在通过sprite进行动画的播放,sprite提供的API主要是控制动画播放的控制。所以,用这个类,目的就是实现动画效果,它原理是控制每一帧图像进行操作,所以得提供每一帧的图像。
- Ticker
tick本意是水滴滴答的意思,ticker是钟摆的意思。先将一个概念,createjs采用canvas渲染,那么canvas想做动画,根本的原理就是不断的刷新画布来造成一个视觉残留
,进而让人眼感觉是在播放视频,其实就是快速的切换图片造成了这种错觉。那么这个概念了解之后,我们在回到ticker,钟摆是有方向有频率的,Ticker就是监测每次stage的变化进而控制stage - stageGL
现在createjs已经支持webGL渲染,我们stage使用的是canvas渲染,感兴趣的可以了解一下。大概总结了一下stage的常见的几个类,包括涉及到空间的类比如stage,container,这几个类关乎我们的动画整体设计,非常重要。其次还介绍了几个动画制作相关的几个类,比如sprite,bitmap,这些类都是用来创建我们的显示对象。最后介绍了一下Ticker,这种类用来定义动画执行过程中的一些事件。通过上面的分析,大家应该对这些类有了自己的认识,这些类大体分为三类,第一个是与空间相关的,第二个是定义显示对象相关的,第三个是动画执行过程相关的。文章后面附上官方对这些API的介绍,以及官方文档的定义。
参考链接
API介绍:https://github.com/CreateJS/E...
Easeljs文档:https://createjs.com/docs/eas...
createjs之Easeljs相关推荐
- canvas 动画库 CreateJs 之 EaselJS(下篇)
本文来自网易云社区 作者:田亚楠 继承 对应原文:Inheritance 我们可以继承已有的「显示对象」,创建新的自定义类.实现方法有很多种,下面介绍其中之一. 举例:实现一个继承于 Containe ...
- 1、CreateJS介绍-EaselJS
需要在html5文件中引入的CreateJS库文件是easeljs-0.7.1.min.js HTML5文件如下: 1 <!DOCTYPE html> 2 <html lang=&q ...
- Html5游戏框架createJS组件--EaselJS
CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验. 掌 ...
- canvas 动画库 CreateJs 之 EaselJS(上篇)
本文来自网易云社区 作者:田亚楠 须知 本文主要是根据 createjs 中的 EaselJS 在 github 上的 tutorials 目录下的文章整理而来 (原文链接),同时也包含了很多本人的理 ...
- Html5游戏框架createJs组件--EaselJS(二)绘图类graphics
有端友问我是否有文档,有确实有,但没有中文的,只有英文的,先提供浏览地址供大家参考学习createJs英文文档. EaselJS其实主要就是creat ...
- createjs之easeljs【游戏围住神经猫】
在html文件中引入 <script src="circle.js"></script> 创建圆类 <canvas width="800px ...
- 入门createjs———EaselJS模块基本介绍
EaselJS模块 EaselJS的官方地址 http://www.createjs.com/#!/EaselJS(国内打开比较慢,所以可以....) 下面也为了方便大家提供了个人的地址: Easel ...
- createjs php通信,快速入门createjs实例教程
开始用createjs这个框架的时候,发现网上的相关教程还是挺少的,所以写一篇文章,方便日后查看. createjs简介 官网:http://www.createjs.cc/ createjs中包含以 ...
- CreateJS 入门小记
createjs简介 官网:http://www.createjs.cc/ createjs中包含以下四个部分: EaselJS:用于 Sprites.动画.向量和位图的绘制,创建 HTML5 Can ...
最新文章
- 在CentOS 6.3 64bit上利用iptables开放指定端口的方法
- ORACLE分页查询SQL语法——最高效的分页
- 谈谈《潜伏在办公室》对管理层的影响
- python是一门面向什么的语言用词语填空_使用pygame写一个古诗词填空通关游戏
- 曹新雨-2020年目标
- 浅谈:ArrayList,ListT,ListObject
- configurablebeanfactory
- docker基础应用
- asp.net core 自定义 Content-Type
- 流体力学及其工程应用
- 用实际例子理解回调函数(Calback)
- 普通人如何使用ChatGPT接单挣钱-第一弹
- Visual Studio 2010——C#的主菜单的使用
- Postgresql 12.2 + PostGIS 3.0.1 安装部署手册
- python 正整数因数分解_python将一个正整数分解质因数.
- DDN区块链:面向未来,全面发力!
- python发送邮件时报: Error: need RCPT command
- android vitamio 函数,如何在Android Studio中集成Vitamio?
- tankbot 机器人_优必选首款履带式Jimu机器人 TankBot 登陆Apple Store零售店
- VMware安装银河麒麟V10桌面虚拟机
热门文章
- 产品,开发,业务的科学吵架指南:每次吵完架后都觉得自己没发挥好怎么办?...
- 传奇服务器端武器特效怎么修改,辐射4 装备效果自定义修改教程 怎么给装备添加特效...
- HTML缩写标签对应的英文单词
- 新车可以无牌上路7天_新车可以无牌上路7天?刚提新车没牌能上路吗
- Python 测试之 doctest
- 在centos安装mattermost
- vscode使用python导入自定义模块
- ChatGPT 加图数据库 NebulaGraph 预测 2022 世界杯冠军球队
- 华为HCIP RS题库221 71-80题
- 计算机管理员没设密码,计算机开机登陆密码没有设,肿么还要输入管理员身份...