舞台 stage, 文档类, 容器 和对象
容器 DisplayObjectContainer
对象 DisplayObject
EventDispatcher
↑
DisplayObject
↑
------------------------------------------------------------------
DisplayObjectContainer Bitmap BitmapText Shape TextField MovieClip
↑
-----------------------------------
Sprite Stage ScrollView UIComponent
直接集成 DisplayObject 的位非容器, 集成自 DisplayObjectContainer 的为容器,
由于 DisplayObject 集成与 EventDispatcher, 所有显示对象均可以发送事件
脏矩形: 设定渲染区域
// 绘制
var rect = new egret.Rectangle( 0, 0, stageW, stageH - 200 );
egret.RenderFilter.getInstance().addDrawArea( rect );
// 重绘: 设置之前, 场景结束时
egret.RenderFilter.getInstance().clearDrawArea();
显示对象 DisplayObject
- x, y (位置,单位像素)
- width, heigth (宽高,单位像素)
- ancherX, ancherY (百分比锚点设定)
- ancherOffsetX, ancherOffsetY (像素锚点设定)
- scaleX, scaleY (缩放,百分比) – 位图进行缩放或拉伸,图像会发生模糊
- alpha (透明度 0-1)
- visible 是否可见
- rotation (顺时针旋转角度)
- skewX, skewY (横纵向斜切), 将矩形变成菱形 ^_^
- mask 遮罩对象 = new egret.Rectangle(x,y,w,h);
Bitmap 位图, Shape 矢量图绘制, TextField 文本操作, BitmapText 使用位图显示文本, MovieClip 逐帧动画
碰撞
var isHit:boolean = shp.hitTestPoint(10, 10 [,true]);
第三参数 false 为根据 w|h 所占用大小进行碰撞, true 为根据实际像素覆盖进行碰撞
自定义显示对象
class MyShape extends egret.Shape {
private colors:Array<number> = [0xff0000, 0x00ff00, 0x0000ff];
public constructor() {
super();
}
public drowRects(amount:number):void {
for (var i=0; i< amount; i++) {
for (var j=0; j< amount; j++) {
this.graphics.beginFill(this.colors[i%colors.length], 0.5);
this.graphics.drowRect(i*50,j*50,50,50);
this.graphics.endFill();
}
}
}
}
var _myShape:MyShape = new MyShape();
_myShape.drowRects();
this.addChild(_myShape);