在 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 也不可用。)