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; } }
22
2018
05
Egret教程 egret.Shape 显示对象绘制图形
作者:admin | 分类:代码 | 浏览:6270 | 评论:0