class Main extends egret.DisplayObjectContainer {

    /**
     * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 super )
     * constructor 是类的构造函数, 类在实例化的时候调用
     * egret.Event.ADDED_TO_STAGE, 在将显示对象添加到舞台显示列表时调度
     */
    public constructor() {
        super();
        this.addEventListener(egret.Event.ADDED_TO_STAGE, this.onAddToStage, this);
    }

    /**
     * 1, egret.startTick(回调函数, this) 全局函数将以 60 帧速率回调函数
     * -- egret.startTick 的回调函数返回 boolean 类型的值
     * -- 如果为 true, 则立刻开始绘图, 如果为 false 则不绘图, 一般返回 true 就行
     * -- egret.stopTick() 为 startTick 对应的停止方法
     * 2, graphics.clear() 方法会清除显示对象的所有绘制过程, 重绘时需要重新设置所有属性
     */
    private onAddToStage(event: egret.Event) {

        var shape:egret.Shape = new egret.Shape();
        var angle:number = 0;
        shape.x = 100;
        shape.y = 100;
        egret.startTick(function (timeStamp:number):boolean {
            angle += 1;
            changeGraphics(angle);
            angle = angle % 360;
            return true;
        }, this);
        function changeGraphics(angle) {
            shape.graphics.clear();
            shape.graphics.lineStyle(10, 0xffffff);
            shape.graphics.drawArc(
                50, 50, 50,
                0, angle * Math.PI / 180, false
            );
            shape.graphics.endFill();
        }
        this.addChild(shape)

    }
}

 

posted on 2018-02-01 17:15  被遗忘的优雅  阅读(888)  评论(0编辑  收藏  举报