Как в Adobe Edge Animate получить имя метки, соответствующее заданному времени? Я видел, что могу получить текущее время как целое число, используя
sym.getPosition()
но если в этой позиции есть метка, как мне получить метку в виде строки?
Как в Adobe Edge Animate получить имя метки, соответствующее заданному времени? Я видел, что могу получить текущее время как целое число, используя
sym.getPosition()
но если в этой позиции есть метка, как мне получить метку в виде строки?
function getLabel() {
var stage = sym.getComposition().getStage();
var labels = stage.timelines['Default Timeline'].labels;
var currentLabel;
var currentPosition = stage.getPosition();
$.each( labels, function( label, position ){
if (position <= currentPosition) currentLabel = label;
});
return currentLabel;
}
console.log( getLabel() );
это вернет метку в (или следующую перед) текущую позицию.
Для тех из нас, кто ищет решение Adobe Animate 2019 (как и я), оно похоже, но немного отличается:
function getLabel(_this) {
var currentLabel;
var currentPosition = _this.currentFrame;
_this.labels.forEach(function( label, index ){
if (label.position <= currentPosition) currentLabel = label.label;
});
return currentLabel;
}
Ваше положение на временной шкале легче получить, а объект меток организован по-другому. (Также jQuery недоступен.)