デアゴスティーニ商法作業管理での51日目作業

JSはES6で追加されたクラス構文で、かなり使いやすくなりました。

今日の作業「透過値調整 — 何も操作がなければ段々透明に」は、以下のクラスを用いて実現しました。

UIが閉じている時だけ、getVal()で経過時間に応じて透過値を計算して返します。

マウスが動いた時はonMouseMove()を呼んで透過値をリセットします。


class Alpha {
    constructor() {
        this.bOpen = false;
    }
    onOpen() {
        this.bOpen = true;
    }
    onClose() {
        this.bOpen = false;
        this.closed_time = new Date().getTime();
    }
    onMouseMove() {
        this.closed_time = new Date().getTime();
    }
    getVal() {
        if (this.bOpen) {
            return 1.0;
        }
        let time = new Date().getTime();
        if (void 0 === this.closed_time) {
            this.closed_time = time;
        }
        if (time - this.closed_time <= 3000) {
            return 1.0;
        } else if (5000 <= time - this.closed_time) {
            return 0.0;
        } else {
            return (5000 - (time - this.closed_time)) / 2000.0;
        }
    }
}

今日もサクッと終わりました。以上です!

本家デアゴGTR-NISMO箱積状況:1箱(30号)

コメントを残す

メールアドレスが公開されることはありません。