Egret引擎开发指南之视觉编程,egret引擎指南视觉

在这一个树状结构中,处于最上层的,正是“舞台”。对应到程序中,大家得以看到三个
stage
对象。舞台是Egret展现框架结构中最根本的来得容器。每种Egret应用有且独有一个stage对象。舞台是此人作品彰显树结构的根节点。

呈现列表

在Egret内部维护着多个显示列表,用来管理和公司容器和非容器对象,当有些展现对象处于展现列表中,就能够在镜头中看看该指标。移除后便消失。

实操中,能够把显示列表个中树结构。

在树状结构中,有一个stage对象,处于最上层,树结构的根节点。每种Egret有且独有贰个stage.

在舞台stage中,大家还兼具二个主容器。这些容器正是文书档案类所创建的容器。每七个Egret都会持有多个文书档案类,那么些文书档案类必需是贰个出示对象容器。

图片 1

egret_tree.png

咱俩在实操中把概念再度简化,可以归纳为两条准绳:

Egret引擎开拓指南之视觉编制程序,egret引擎指南视觉

展现对象和显示列表

“展现对象”,正确的含义是足以在舞台上展现的目的。可以显得的靶子,既富含能够一贯看见的图纸、文字、摄像、图片等,也囊括无法瞥见但真正存在的来得对象容器。

在Egret中,视觉图形都是由呈现对象和体现对象容器组成的。

图片 2

设若大家要发挥上图中的场景,大家应当怎么通过树的点子来说述呢?

体现对象等级结构

在Egret中,展现对象被分为两大类:一种是能够归纳另外展现对象的来得对象容器,简称为“容器”。别的一种是仅仅的彰显对象,除本身以外不可能包罗其余彰显对象,简称“非容器对象”。

在实际上的操作中,大家得以把这么一种结构作为一个树状结构,容器可领会为树枝,非容器对象则足以驾驭为树叶。

图片 3

在那几个树状结构中,处于最上层的,正是“舞台”。对应到程序中,我们能够看出一个
stage
对象。舞台是Egret显示架构中最根本的展现容器。每一个Egret应用有且唯有叁个stage对象。舞台是此人作品显示树结构的根节点。

在舞新北,大家还会有着一个主容器。那些容器就是文档类所开创的容器。每八个Egret都会有所多个文书档案类,那一个文档类必需是贰个来得对象容器。

在那几个场景中,大家富含了四个景色背景,而背景是由背景图和一颗大树组成的。别的两个因素是由人物和七个草坪组成的。

显示列表

上边大家所见到的树状显示对象协会图实际上正是Egret的“突显列表”。

动用展现列表管理容器和非容器对象是可怜有益的,当某一个展现对象处于在体现列表中,大家就能够在画面中看出该目的。当大家将显得对象从出示列表中移除后,该对象则从画面中消灭。

在Egret内部维护着三个展现列表,开辟者不须要关心该列表是何许运作的,你只需求对团结的来得对象开展对应的操作就能够。

体现对象种类

Egret在架构划虚拟计进程中围绕显示列表的定义,对负有目的开展了严格的包装。在Egret中,全数的显得对象均继续自
DisplayObject 这个类。DisplayObject
类也正是咱们眼下描述的“展现对象”。在Egret中,全体的“容器”均继续自
DisplayObjectContainer

为了统一管理突显列表,全部展现对象都合併于DisplayObject类。全数的显示对象都卫冕自DisplayObject,而DisplayObject则持续自伊夫ntDispatcher。也正是说全部的来得对象均可以发送事件。

DisplayObjectContainer展现对象容器的父类也是DisplayObject。

图片 4

大家在实操中把概念再度简化,能够综合为两条准则:

直白接轨自DisplayObject的类都属于非容器。承继自DisplayObjectContainer的类都属于容器。

纵深处理

每种容器都有深度管理作用,深度值实际上正是三个出示对象的叠放次序。也可称为
“z-次序”。

  1. Egret中容器的纵深都以从0开首的,当第贰个呈现对象被加多到容器中时,它的深浅值为0。此人作品体现对象处于容器的最底部。当添加其次个呈现对象的时候,它的深度值为1,並且在第贰个呈现对象上方。假设四个展现对象产生了交接,那么能够从视觉上来看,第叁个突显对象遮挡住第一个展现对象。

  2. 操作内定深度的对象
    容器.addChildAt( 显示对象, 深度值 )
    容器.removeChildAt( 深度值 )
    容器.swapChildren( 显示对象, 显示对象 )
    容器.swapChildrenAt( 深度值, 深度值 )

图片 5

呈现对象和出示列表
“突显对象”,正确的意思是能够在戏台上显得的对象。能够来得的…

来得对象

您只怕感兴趣的稿子:

  • Windows
    系统下安装和布局Egret的支出条件
  • Mac OS X
    系统下安装和布署Egret引擎开拓条件
  • Egret引擎开辟指南之成立项目
  • Egret引擎开垦指南之编写翻译项目
  • Egret引擎开辟指南之运转项目
  • Egret引擎开采指南之发布项目

丰盛与体现对象

  1. 增添多少个容器的措施与丰裕贰个容器的不二等秘书技一样。
  2. 同一个来得对象无论被代码加入展现列表多少次,在显示屏上只绘制一回。
    假设多少人作品体现对象A被加多到了容器B中,然后A又被增添到了容器C中。这几个第3回执行C.addChild(A) 的时候,A自动的从B容器中除去,然后增加到C容器中。
  3. 删去一个突显对象的时候,必需确认保障“显示对象”具有父级。
    当突显对象不在容器对象之中,JavaScript调控台会报错:
    Uncaught Error: [Fatal]child未被addChild到该parent:
    为幸免那一个难点,移除前做三个确定

if(spr.parent){
  spr.parent.removeChild( spr );
}

Egret在架构划虚构计进程中围绕显示列表的概念,对具有指标举行了适度从紧的卷入。在Egret中,全数的来得对象均三番五次自
DisplayObject 这个类。DisplayObject
类也等于大家日前描述的“展现对象”。在Egret中,全体的“容器”均三番五次自
DisplayObjectContainer

2. Sprite

在Egret中,Sprite是三个常用的容器。同临时候加多了Graphics功能。

来得列表

3. 自定义呈现对象类

自定义展现对象类供给一连DisplayObject的现实天性类,举个例子ShapeTextFiled.
示范代码如下:

class MyRoundRect extends egret.Shape {
    constructor(argument) {
        super();
        this.drawRoundRect();
    }
    private drawRoundRect(){
        this.graphics.beginFill(0xff00ff);
        this.graphics.drawRoundRect(200,200,100,100,20,20);
        this.graphics.endFill();
    }
}
let grid = new MyRoundRect(this);
this.addChild(grid);

编写翻译运转后,在浏览器能够看来如下图形:

图片 6

egret_shape.png

在戏新竹,大家还具有二个主容器。那几个容器正是文书档案类所创办的器皿。每一个Egret都会有着二个文书档案类,那一个文书档案类必需是八个人作品显示对象容器。

1. 基本概念

在Egret中,视觉图形都是由展现对象和展示对象容器组成的。

显示对象,是能够在舞台上显得的靶子。既包罗能够一向看见的图纸、文字、摄像、图片等,也囊括不可知但便是存在的来得对象容器。

DisplayObject类是持有显示对象的父类,该类满含呈现对象共有的习性与办法。

显示对象系列

2. 宗旨呈现类

描述
DisplayObject 显示对象基类,所有显示对象均继承自此类。
DisplayObjectContainer 显示对象容器接口,所有显示对象容器均实现次接口
Bitmap 位图,用来显示图片
Shape 用来显示矢量图,可以用其中的方法绘制矢量图形
TextField 文本类
BitmapText 位图文本类
Sprite 带有矢量绘制功能的显示容器。
Stage 舞台类