3, 容器內部顯示對象相對源的切換 和 事件的添加
阿新 • • 發佈:2017-09-21
tro poi ble fff lis 打開 實例 oid spa
class Main extends egret.DisplayObjectContainer {
/**
* 入口文件, 最先執行的構造方法
* 這會實例化一個和手機屏幕一樣大的舞臺
*/
public constructor() {
super();
this.once( egret.Event.ADDED_TO_STAGE, this.onAddToStage, this );
}
/**
* 入口文件加載成功後執行的方法
* 也是邏輯的開始
*/
private onAddToStage(event:egret.Event) {
/**
* 創建一個顯示對象, 作為空容器
* 並添加到舞臺
*/
var stage: egret.DisplayObjectContainer = new egret.DisplayObjectContainer();
stage.x = 50;
stage.y = 50;
this.addChild(stage);
/**
* 實例化顯示對象( 一個圓 )
* 正常情況下, 顯示對象的橫縱坐標都是相對於父容器的
* 如果想改變相對於最外層, 可以使用 egret.Point 對象
* 以及 globalToLocal(x,y) 將舞臺的某個坐標轉化為容器內的坐標
* 在賦值給 顯示對象
*/
var myGrid:egret.Shape = new egret.Shape();
myGrid.graphics.beginFill(0xffffff);
myGrid.graphics.drawCircle(25, 25, 50);
myGrid.graphics.endFill();
stage.addChild(myGrid);
/**
* 添加點擊事件, 打開對象的事件點擊能力
* 綁定回調方法
*/
myGrid.touchEnabled = true;
myGrid.addEventListener(egret.TouchEvent.TOUCH_TAP, onClick, this);
function onClick():void {
var targetPoint: egret.Point = stage.globalToLocal(25,25);
myGrid.x = targetPoint.x;
myGrid.y = targetPoint.y;
}
}
}
3, 容器內部顯示對象相對源的切換 和 事件的添加