现在html5小游戏越来越火爆了,由于公司业务的需要,也开发过几款微信小游戏,用canvas写的没有利用什么框架,发现性能一直不怎么好,所以楼主就只能硬着头皮去学习比较火的Adobe公司出的CreateJS框架,找了很久资料比较少,基本没什么

中文文档,很多都是英文文档(想想我这才过四级,只能借用有道,一点一点看,一点一点翻译学习),今天我就写个引子(也是在慢慢学习),写的不好,大家就不要见笑。

EaselJS是CreateJS Suite中的一个js库,它可以让canvas的使用变得简单,它提供了一个直接了当的创建html5 canvas中使用富媒体、富交互应用的解决方案。

(一)如何使用

先去下载EaselJS框架,然后创建一个舞台canvas元素的舞台stage对象stage=new createjs.Stage('demo'),增加显示的子对象到舞台上英文就是DisplayObject对象stage.addChild(),然后

渲染render就用stage.update()就可以了。EaselJS 支持功能常用的createjs下相对应的对象:
        
        1.使用图像就用Bitmap位图对象。
        
        2.矢量图形就使用Shape和Graphics对象。

3.动画Animated 位图bitmaps 使用 SpriteSheet 和 Sprite 对象。

4.使用文本实例就用Text。

5.包含说有DisplayObjects对象的容器就用Container。

6.控制HTML DOM 元素的使用DOMElement。

所有显示对象可以添加到舞台stage作为child,或直接吸引到画布canvas。

使用说明:

所有的在舞台上的显示对象DisplayObject(除了DOMElement),当使用mouse或touch时可以绑定事件。EaselJS支持 hover、 press和 release events,同时很容易使用drag和drop拖拽的模型。

让我们看看基本的例子吧:
        
        你可以现在 illustrates里面先去实现模拟,然后去用EaselJS创建Stage和shape去实现效果。

  //Create a stage by getting a reference to the canvas
//创建一个阶段通过引用到画布上
stage = new createjs.Stage("demoCanvas"); //Create a Shape DisplayObject.
//创建形状显示对象
circle = new createjs.Shape();
circle.graphics.beginFill("red").drawCircle(0, 0, 40); //Set position of Shape instance.
//设置形状实例的圆心坐标
circle.x = circle.y = 50; //Add Shape instance to stage display list.
//增加形状实例显示在舞台列表上
stage.addChild(circle); //Update stage will render next frame
//更新舞台渲染
stage.update();

  

基本的监听绑定事件,简单交互

displayObject.addEventListener("click", handleClick);
function handleClick(event){
// Click happenened
} displayObject.addEventListener("mousedown", handlePress);
function handlePress(event) {
// A mouse press happened.
// Listen for mouse move while the mouse is down:
event.addEventListener("mousemove", handleMove);
}
function handleMove(event) {
// Check out the DragAndDrop example in GitHub for more
}

结合上面创建的cricle显示对象即:

                        //监听圆形显示对象,增加事件  displayObject.addEventListener("click", handleClick);
circle.addEventListener("click", handleClick);
function handleClick(event){
// 点击时发生
alert(11);
} circle.addEventListener("mousedown", handlePress);
function handlePress(event) {
alert('鼠标按下了')
// 鼠标按下时发生
// 监听当鼠标按下移动时发生的事件
event.addEventListener("mousemove", handleMove);
}
function handleMove(event) {
// Check out the DragAndDrop example in GitHub for more
console.log('鼠标移动了')
}

基本的动画例子

 //Update stage will render next frame
createjs.Ticker.addEventListener("tick", handleTick); function handleTick() {
//Circle will move 10 units to the right.
//圆将向右边以10为单位移动
circle.x += 10; //Will cause the circle to wrap back
//移动的距离大于舞台的距离,将重新开始
if (circle.x > stage.canvas.width) { circle.x = 0; }
stage.update();
}

  

最后,EaselJS 也还有其他的功能,也简单的说一下吧:

1.canvas阴影和CompositeOperation等特性

2.Ticker, a global heartbeat that objects can subscribe to(有点不太懂)
        
        3.滤镜,就是像ps里面的一下滤镜遮罩,颜色通道这些。
        
        4.按钮button的功能,可以很简单的创建按钮交互。
        
        5.SpriteSheetUtils 和 SpriteSheetBuilder帮助我们构建和管理SpriteSheet 在运行的时候。

createJS的学习是系列教程,喜欢就请继续关注下期……一起成长

Html5游戏框架createJs组件--EaselJS(一)的更多相关文章

  1. Html5游戏框架createJS组件--EaselJS

    CreateJS库是一款HTML5游戏开发的引擎,是一套可以构建丰富交互体验的HTML5游戏的开源工具包,旨在降低HTML5项目的开发难度和成本,让开发者以熟悉的方式打造更具现代感的网络交互体验. 掌 ...

  2. Html5游戏框架createJs组件--EaselJS(二)绘图类graphics

    有端友问我是否有文档,有确实有,但没有中文的,只有英文的,先提供浏览地址供大家参考学习createJs英文文档.                        EaselJS其实主要就是createJ ...

  3. Html5游戏框架createJs的简单用法

    声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢!http://www.it165.net/pro/html/201403/11105.html 楼主记忆力不好,最近刚好用了一下create ...

  4. 主流HTML5游戏框架的分析和对比

    本文主要选取了Construct2.ImactJS.LimeJS.GameMaker.CreateJS.lycheeJS.Crafty.three.js.melonJS.Turbulenz.Quint ...

  5. Phaser开源2d引擎 javascript/html5游戏框架

    功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash C ...

  6. Phaser开源2d引擎 html5游戏框架中文简介

    功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash C ...

  7. 用Phaser来制作一个html5游戏——flappy bird (一)

    Phaser是一个简单易用且功能强大的html5游戏框架,利用它可以很轻松的开发出一个html5游戏.在这篇文章中我就教大家如何用Phaser来制作一个前段时间很火爆的游戏:Flappy Bird,希 ...

  8. HTML5游戏引擎深度测评

    https://zhuanlan.zhihu.com/p/20768495 最近看到网上一篇文章,标题叫做<2016年 最火的 15 款 HTML5 游戏引擎>.目前针对HTML5游戏的解 ...

  9. 用Phaser来制作一个html5游戏——flappy bird (二)

    在上一篇教程中我们完成了boot.preload.menu这三个state的制作,下面我们就要进入本游戏最核心的一个state的制作了.play这个state的代码比较多,我不会一一进行说明,只会把一 ...

随机推荐

  1. 在Lua中计算含中文的字符串的长度

    --[[ @desc: 计算字符串字符个数 author:{author} time:-- :: --@inputstr: 源字符串 return 字符个数 ]] function getString ...

  2. ubuntu 12.04 右上角的网络连接图标突然消失不见

    某天Ubuntu右上角的网络连接图标突然消失不见了,右击panel -> add to panel -> Notification Area 也不管用,最关键的是上不了网了.可以在Netw ...

  3. SQLServer查看存储过程的方法

    使用 sp_helptext 查看存储过程的定义 在对象资源管理器中,连接到 数据库引擎实例,再展开该实例. 在工具栏上,单击“新建查询”. 在查询窗口中,输入下列语句.更改数据库名称和存储过程名称以 ...

  4. 中企ITIL需软落地

    IT技术的发展对现代企业产生了深远的影响.企业信息化建设越深入,信息系统的规模越大,业务对IT系统的依赖性也越大,由此对IT服务的要求越高,如何 对繁多的IT技术进行有效的管理,最大程度地利用企业现有 ...

  5. js九九乘法表的应用

    <html> <head> <meta charset=utf-8" /> <title>js九九乘法表</title> < ...

  6. SQL备份一张表的数据

    使用如下语句 SELECT  *  into   table_bak   FROM   table 可把表table中的数据备份到  table_bak   ,而且无需重新建table_bak .会自 ...

  7. python -m 命令单独运行一个文件,怎么解决单独运行文件报错?

    依旧是续上篇解决为什么项目能运行,单独文件不能运行. 依旧是python3先发下目录结构,依旧是cmd运行,不要弄pycharm开始运行,否则有些错误就发现不了! 项目下面有pac1文件夹,pac1下 ...

  8. Android重写HorizontalScrollView仿ViewPager效果

    Android提供的ViewPager类太复杂,有时候没有必要使用,所以重写一个HorizontalScrollView来实现类似的效果,也可以当做Gallery来用 思路很简单,就是重写onTouc ...

  9. 抓包工具Wireshark

    https://baike.baidu.com/item/Wireshark/10876564?fr=aladdin

  10. Docker应用之镜像

    一.Docker包括三个基本概念 1.镜像(Image):Docker镜像是一个只读模板,例如一个镜像可以包含完整的Linux系统环境,里面仅仅安装了Apache或用户其他应用程序:镜像可以用来创建D ...