1. 程式人生 > >3, 容器內部顯示對象相對源的切換 和 事件的添加

3, 容器內部顯示對象相對源的切換 和 事件的添加

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, 容器內部顯示對象相對源的切換 和 事件的添加