CreateJs教程2章:easeljs简介
CreateJs教程:easeljs简介
CreateJS的4大组件,我们先学习EaselJs。EaselJs=Easel+Js=
EaselJs将图形通过Html5 Canvas绘制到屏幕中,EaselJs提供了很多绘制API、舞台API、帧数API,帮助实现流畅的渲染。EaselJs依赖与Html5 Canvas,所以如果你会Html5 Canvas,那么学习EaselJs会得鱼如水。当然,如果你没有学习过Canvas问题也不大,本课程非常移懂。
EaselJs教程源码下载
EasylJs是开源项目,学习之前,我们先在github下载EasylJs:
本教程使用到的所有案例的代码下载地址
EaselJs教程的第一个demo
首先看一下EaselJs的第一个demo,这个例子在canvas中渲染了一段文字,如下图:
源码如下,在这里也能下载我们的所有源码。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>EaselJS 案例: 显示文本</title> <link href="../_easel-assets/css/shared.css" rel="stylesheet" type="text/css"/> <link href="../_easel-assets/css/examples.css" rel="stylesheet" type="text/css"/> <script src="../_easel-assets/js/examples.js"></script> <script src="../lib/easeljs-NEXT.js"></script> <script id="editable"> function init() { // 获取canvas的引用: var canvas = document.getElementById("testCanvas"); // 创建一个显示的舞台 var stage = new createjs.Stage(canvas); // 创建一个文字对象: var text = new createjs.Text("Hello World!", "36px Arial", "#777"); text.textAlign = "center"; // 将文本添加到舞台. stage.addChild(text); // 设置位置 text.x = canvas.width / 2; text.y = 180; // 渲染更新舞台中的内容 stage.update(); } </script> </head> <body onload="init();"> <header class="EaselJS"> <h1>EaselJS的Hello World!例子</h1> <p>Hello World 这个例子使用了 <code>Text</code> and <code>Stage</code>.</p> </header> <div> <canvas id="testCanvas" width="960" height="400"></canvas> </div> </body> </html>
下面对这个例子做详细解释
引入easeljs的js库
要使用easeljs,需要引入相应的easeljs库,上面的代码中,首先引入了2个css文件:
<link href="../_easel-assets/css/shared.css" rel="stylesheet" type="text/css"/> <link href="../_easel-assets/css/examples.css" rel="stylesheet" type="text/css"/>
- shared.css是一些共享的通用css样式,可以不引用
- examples.css是我们例子自定义的样式,也可以不引用,自己写
引入js库:
<script src="../_easel-assets/js/examples.js"></script> <script src="../lib/easeljs-NEXT.js"></script>
- examples.js 是我们例子自定义的js
- easeljs-NEXT.js 才是真正的easeljs库,其他都可以不引入,这个库要引入
EaselJS的绘图原理
引入需要的文件后,我们进入代码编写部分,首先我们看看EaselJS的绘图原理,EaselJS主要是用来在canvas上绘制图形、图像的,它的绘图原理是:
结合上面的代码,我们来看一下:
用html新建一个canvas
EaselJS创建canvas,
<canvas id="testCanvas" width="960" height="400"></canvas>
EaselJS是在这个canvas元素中绘图的。
初始化函数init
当html页面加载完成后,会第一个会运行onload中的是初始化函数init:
<body onload="init();">
init函数中处理了EaselJS的绘图原理
图中的事情。
init中的这句话,获取canvas的引用,canvas是在html中声明的。
var canvas = document.getElementById("testCanvas");
createjs.Stage创建一个舞台,舞台上可以容纳很多元素,舞台用于管理这些元素。createjs.Stage函数的参数是canvas画布:
var stage = new createjs.Stage(canvas);
现在舞台有了,需要一个演员,本例的演员是一个文本。我们先创建一个文本,createjs.Text用于创建文本,它接受3个参数,分别是文本内容,字体大小及字体,字体颜色。然后将text.textAlign设置为center,将字体居中。
var text = new createjs.Text("Hello World!", "36px Arial", "#777"); text.textAlign = "center";
然后我们将字体加入舞台中:
stage.addChild(text);
最后渲染舞台,stage.update()函数表示重新绘制一次舞台,如果不调用这个函数,可能画面不会有变化
stage.update()
小提示
EaselJS有哪些类,每个类有哪些小函数,其实我们是不知道的,这时候,可以使用webstrom最新版,这样就可以有函数提示了。