Egret教程 egret.Shape 显示对象绘制图形
private drawGrid() { // 绘制
//指定填充色开始填充
this.graphics.beginFill(0x000ff);
//绘制矩形,指定位置和宽高
this.graphics.drawRect(0, 0, 50, 50);
//结束填充
this.graphics.endFill();
this.graphics.beginFill(0x000ff);
this.graphics.drawRect(50, 50, 50, 50);
this.graphics.endFill();
this.graphics.beginFill(0xff0000);
this.graphics.drawRect(50, 0, 50, 50);
this.graphics.endFill();
this.graphics.beginFill(0xff0000);
this.graphics.drawRect(0, 50, 50, 50);
this.graphics.endFill();
}
private onAddToStage(event: egret.Event) {
var shp: egret.Shape = new egret.Shape();
shp.graphics.beginFill(0x00ff00);
shp.graphics.drawRect(0, 0, 100, 100);
shp.graphics.endFill();
//改变矩形的位置(左上角顶点)
shp.x = 100;
shp.y = 100;
//修改锚点的位置
shp.anchorOffsetX = 50;
shp.anchorOffsetY = 50;
this.addChild(shp);
}
//通过触摸移动显示对象
private moveObjectByTouch(): void {
var draggedObject: egret.Shape;
var offsetX: number;
var offsetY: number;
var circle: egret.Shape = new egret.Shape();
circle.graphics.beginFill(0xff0000);
circle.graphics.drawCircle(25, 25, 25);
circle.graphics.endFill();
this.addChild(circle);
circle.touchEnabled = true;
// circle.addEventListener(egret.TouchEvent.TOUCH_BEGIN, startMove, this);
circle.addEventListener(egret.TouchEvent.TOUCH_BEGIN, (e: egret.TouchEvent) => {
//记录手指按到的对象
draggedObject = e.currentTarget;
offsetX = e.stageX - circle.x;
offsetY = e.stageY - circle.y;
//将触摸的对象置于容器顶层
this.addChild(draggedObject);
this.stage.addEventListener(egret.TouchEvent.TOUCH_MOVE, onMove, this);
}, this);
circle.addEventListener(egret.TouchEvent.TOUCH_END, stopMove, this);
function stopMove(e: egret.TouchEvent): void {
console.log("stopMove");
this.stage.removeEventListener(egret.TouchEvent.TOUCH_MOVE, onMove, this);
}
function onMove(e: egret.TouchEvent): void {
draggedObject.x = e.stageX - offsetX;
draggedObject.y = e.stageY - offsetY;
}
}