白鹭引擎 - 绘制圆形的进度条 ( graphics )

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)

    }
}

 

转载于:https://www.cnblogs.com/lovling/p/8400062.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值