Html5游戏框架createJs组件--EaselJS(一)

现在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的学习是系列教程,喜欢就请继续关注下期……一起成长

时间: 2024-10-11 23:36:25

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

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

有端友问我是否有文档,有确实有,但没有中文的,只有英文的,先提供浏览地址供大家参考学习createJs英文文档.                        EaselJS其实主要就是createJs组件中控制canvas绘图的,那么就会涉及密切相关的绘图操作,绘图操作利用Graphics类实现,我们来仔细的研究研究Graphics类. 先回顾一下EaselJS(一里面的那个圆形绘图): <!DOCTYPE HTML> <html lang="en-US">

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

本文主要选取了Construct2.ImactJS.LimeJS.GameMaker.CreateJS.lycheeJS.Crafty.three.js.melonJS.Turbulenz.Quintus.Cocos2d-html5等进行了简要介绍和对比,主要是根据网上的资料整理而成. 主流框架对比 Construct2 Construct 2是一个运行于Windows平台的游戏制作工具,它可以让没有任何编程基础的用户在短时间内不写一行代码快速开发出一款可运行于所有平台(Windows.Mac.

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

功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash CS6) 屏幕(Cameras) 查看你的游戏窗口,你可以有多个摄像头,每个摄像头可以分为一个独特的大小区域,屏幕上任何位置,或窗口规模,缩放和旋转,并有摄像效果,如晃动,闪光灯和褪色.他们还可以按照精灵定制盲区. 精灵和游戏物体(Sprites and GameObjects) Phaser内置游戏

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

Phaser是一个简单易用且功能强大的html5游戏框架,利用它可以很轻松的开发出一个html5游戏.在这篇文章中我就教大家如何用Phaser来制作一个前段时间很火爆的游戏:Flappy Bird,希望大家看后也能做出自己的html5游戏.大家可以先点击这里来试玩一下我已经做好的这个游戏,感受一下Phaser的游戏效果,游戏的完整代码我已经放到github上了.支持的浏览器:IE9+.Firefox.Chrome.Opera.Safari以及移动端的能支持html5的浏览器,推荐使用谷歌浏览器,

使用Html5+C#+微信 开发移动端游戏详细教程 :(三)使用html5引擎搭建游戏框架

教程里的案例我们是通过H5游戏引擎开发,目前H5的游戏引擎比较好用的是白鹭,不过对于新手来说白鹭的开发环境和工具使用过于复杂,这里推荐一个国内大神编写的游戏引擎:lufylegend. 直接在页面引入Js文件,就可以开发了,运行效率非常高效,语法是仿AS3语法,懂C#的人上手会很快. Lufylegend引擎具体的API和使用方法可以参考官网和论坛: http://www.lufylegend.com/api/zh_CN/out/classes/FPS.html 之前微信上有一款"怪兽必须死&q

游戏1:HTML5制作网页游戏围住神经猫--createjs

游戏简介:点击小圆圈,是蓝色的小圆圈不跑出圆圈外,跑出则结束游戏 准备工作: 下载easejs  :下载地址:http://www.createjs.cc/easeljs    中文网站 效果: index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>围住神经猫游戏</title> <

20款最受欢迎的HTML5游戏引擎收集

在“最火HTML5 JavaScript游戏引擎”系列文章国外篇(一)中,我们盘点了当下备受开发者推崇的非国产HTML5和JavaScript游戏引擎.在各种2D小游戏逆袭的今天,用HTML5和JavaScript进行游戏开发成为了一大潮流,而HTML5和JavaScript游戏引擎也逐渐走向了成熟,在追求原生体验的同时,也深逐精致细腻狂炫酷拽.在本文中,我们将继续介绍来自国外,非常受开发者欢迎的HTML5和JavaScript游戏引擎. 1. melonJS melonJS这款轻量级的开源免费

html5游戏之createjs以及“找不同”实践

今天给大家介绍一款h5游戏的小框架,createjs,相信很多人都接触过.先简单介绍下createjs:CreateJS为CreateJS库,可以说是一款为HTML5游戏开发的引擎. CreateJS 中包含五款工具: EaselJS:用于 Sprites.动画.向量和位图的绘制,创建 HTML5 Canvas 上的交互体验(包含多点触控),同时提供 Flash 中的“显示列表”功能. TweenJS:一个简单的用于制作类似 Flash 中“补间动画”的引擎,可生成数字或非数字的连续变化效果.

QQ空间玩吧HTML5游戏引擎使用比例分析

GameLook报道/“Cocos 2015开发者大会(春季)”于4月2日在国家会议中心圆满落下帷幕.在会上全新的3D编辑器,Cocos Runtime等产品重磅公布,给业界带来了Cocos这款国产引擎的最新动态.同时Cocos引擎创始人王哲也提到在目前国内最重要的HTML5游戏渠道玩吧中Cocos已经成为使用率最高的游戏引擎.那么这一数据是如何获取的呢?国内HTML5游戏渠道中目前现状究竟如何?今天我们让数据来说话. 直击现场 1.背景分析 2015年,HTML5平台可谓火爆异常,广大CP纷纷