以CreateJS基础制作游戏引擎
    容器(Container)—— Container类是组件的抽象基类,用于子组件的布局特征。

    场景(Stage)—— 场景是展示列表中最底层的容器,所有需要展示在玩家眼前的显示列表或对象都需要添加到场景中,简单来说一个Stage表示游戏内容显示的整个区域。

    显示对象(DisplayObject)—— DisplayObject是所有能够放置到显示列表中的对象的基类。

    显示列表(Display List)—— 显示列表负责管理运行时的所有显示对象。

    图片精灵/精灵表单(SpriteSheet)—— 一个精灵表单就是一系列的图片(通常是动画帧),组合到一张大图片中(或许多张图片)。例如,一个动画由 8 张 100x100 的图片组成,就会组合成一个 400 x 200 的精灵表单。

    影片剪辑(MovieClip)—— 影片剪辑是包含在整个影片中的影片片段,有自己的时间轴和属性。具有交互性,是用途最广、功能最多的部分。可以包含交互控制以及其他影片剪辑的实例。

    补间(Tween)—— Tween 类使您能够使用脚本,通过指定目标影片剪辑的属性在若干帧数或秒数中具有动画效果,从而对影片剪辑进行移动、调整大小和淡入淡出操作。

    CreateJS的目录结构:


    CreateJS主要包含四个库—— EaselJS、PreloadJS、SoundJS和TweenJS。

    EaselJS主要以图形处理和交互为主,下属文件夹分应对为图形处理(display)、事件代理(events)、滤镜(filters)、几何计算(geom)、UI(ui)和工具(utils);

    PreloadJS主要负责文件加载的功能,加载方式主要为标签加载和XHR(XMLHTTPREQUEST)加载,应用也可以自己提供插件,使用自己的 加载方式进行文件加载,例如:XCanvas中js文件通过require方式进行加载;SoundJS主要负责音效方面的操作,主要使用 HTMLAudio和WebAudio方式进行音频播放,也可以提供插件方式进行扩展。

    TweenJS主要负责处理补间动画,包括时间轴、动作引导、过渡动画等等。

 

场景的创建

CreateJS的场景是最底层的容器(Container),它可以承载若干你需要展示的图形信息,作为游戏的主要场景而存在。

    创建场景非常的简单,首先得创建一个Canvas对象,在该Canvas对象上创建一个场景,在XCanvas上进行开发,你需要new 一个Canvas的对象:

    1. var myCanvas = new Canvas();
    2. var stage = new createjs.Stage(myCanvas);
    3. 
    复制代码
    
    也可以通过获取canvas的id来创建场景:
    1. var myCanvas = document.createElement("canvas");
    2. myCanvas.id = "myCanvasId";
    3. var stage = new createjs.Stage("myCanvasId");
    复制代码
    
    下面来做一个Hello World 的例子:
    1. // 获取一个canvas的引用
    2. var canvas = new Canvas();
    3.         
    4. // 在canvas上创建一个场景
    5. var stage = new createjs.Stage(canvas);
    6.         
    7. // 创建一个Text对象
    8. var text = new createjs.Text("Hello World!", "36px Arial", "#777");
    9.         
    10. // 把文本对象作为子对象添加到场景上。这说明它会在场景更新时顺便画上去,并且它的任何转换都是跟场景相关的
    11. stage.addChild(text);
    12.         
    13. // 把文本放置在屏幕上,也是与场景相关
    14. text.x = 360;
    15. text.y = 200;
    16.         
    17. // 更新场景,使展示指令列表可以渲染在canvas上
    18. stage.update();