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号)