Example #1
0
    _animateTo(newPos) {
        this.animation = true;

        newPos = newPos % 1;
        this.pos = this.pos % 1;
        let newPosA, newPosB;
        if (newPos < this.pos) {
            newPosA = newPos;
            newPosB = newPos + 1;
        } else {
            newPosA = newPos - 1;
            newPosB = newPos;
        }
        if (Math.abs(newPosA - this.pos) < Math.abs(newPosB - this.pos)) {
            newPos = newPosA;
        } else {
            newPos = newPosB;
        }

        this.changeEvent();
        animate(this.pos, newPos, ANIMATION_DURATION_IN_MS, pos => {
            this.pos = pos;
            this.changeEvent();
        }, () => {
            this.animation = false;
            this.changeEvent();
        });
    }
Example #2
0
    showEnergy: function () {
        if (!this.user) return;

        var self = this;
        var total = Math.round(this.user.Amount);
        var percent = 1;
        var level;
        var nextLevel;
        var currentLevel;
        var levelAmounts;
        var levels = ['银卡会员', '金卡会员', '钻石会员', 'VIP会员', 'SVIP会员', '无敌会员'];

        self.model.set('vip', total < (levelAmounts = 1000) ? (level = 0, currentLevel = 0, nextLevel = 1000, levels[1]) : total < (levelAmounts = 5000) ? (level = 1, currentLevel = 1000, nextLevel = 5000, levels[2]) : total < (levelAmounts = 10000) ? (level = 2, currentLevel = 5000, nextLevel = 10000, levels[3]) : total < (levelAmounts = 50000) ? (level = 3, currentLevel = 10000, nextLevel = 50000, levels[4]) : (level = 4, nextLevel = '0', levels[5]));

        percent = Math.min(1, total / levelAmounts);

        self.model.set({
            nextLevel: nextLevel,
            currentLevel: currentLevel,
            vipName: levels[level],
            levelAmounts: levelAmounts,
            energyPercent: percent * 100 + '%',
            ucCardAmounts: util.formatMoney(total) + (total > 50000 ? '' : ('/' + util.formatMoney(levelAmounts)))
        });

        if (total != self.model.data.energy) {
            self.model.set({
                energy: total
            });
            animation.animate(function (d) {
                var num = Math.round(animation.step(0, total, d));

                self.model.set('energyAnimNum', num);
                self.drawCircle(animation.step(0, percent, d));

            }, 800, 'ease-out')

        }
    },