Java Script «if function» в Adobe Animate CC, чтобы избежать скачков кадров - PullRequest
0 голосов
/ 10 октября 2019

У меня есть небольшая анимация в 60 кадров при наведении мыши на [0-30], переход в состояние # 2 при выходе из мыши [31-60] обратно в состояние # 1.

Теперь дело в том, что еслиВы просто наводите курсор мыши на объект, чем происходит быстрое наведение мыши. В результате анимация, переходящая от 0 до 30, переходит к 31 и воспроизводится до 60, выглядит плохо и запутанно.

enter image description here

ниже вы можетесм. код, который я написал. На основном этапе в кадре 1 Я пытался решить эту проблему с помощью функции clearTimeout и IF, но по какой-то причине она не работает

var _this = this;
var over;
var out;
var status = false;

stage.enableMouseOver(3);
_this.btn.on('mouseover', function () {
    over = setTimeout(function () {
        _this.monkey.gotoAndPlay('over');
        status = true;
    }, 2500);
});
_this.btn.on('mouseout', function () {
    clearTimeout(over);
    out = setTimeout(function () {
        if (status = true) {
            _this.monkey.gotoAndPlay('out');
            status = false;
        }
    }, 2500);
});

Любые идеи?

...