在Adobe Edge Animate中,如何获取与给定时间对应的标签名称?我已经看到我可以使用
将当前时间作为整数sym.getPosition()
但如果该位置有标签,我该如何将标签作为字符串?
答案 0 :(得分:4)
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() );
这将返回当前位置(或下一个)之前的标签。
答案 1 :(得分:0)
对于我们这里正在寻找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不可用。)