单属性版本:
function propKeyTime(ctrl){
var T=time;
if (ctrl.numKeys > 0) {
var n = ctrl.nearestKey(time).index;
if ((time < ctrl.key(1).time)) {
T = time;
} else {
if (ctrl.key(n).time > time) {
n--;
};
T = ctrl.key(n).time;
}
} else {
T = time;
}
return T
}
双属性版本:
function twoPropsKeyTime(ctrl1, ctrl2) {
var T = time;
if (ctrl1.numKeys > 0) {
var n = ctrl1.nearestKey(time).index;
var m = 0;
if (ctrl2.numKeys > 0) {
m = ctrl2.nearestKey(time).index;
}
if (n + m == 0) {
T = time;
} else {
if (ctrl1.key(n).time > time) {
n--;
};
if ((ctrl2.numKeys > 0) && (ctrl2.key(m).time > time)) {
m--;
};
if ((ctrl2.numKeys > 0) && (m > 0) && (n > 0)) {
T = ctrl2.key(m).time > ctrl1.key(n).time ? ctrl2.key(m).time : ctrl1.key(n).time;
} else if (n > 0) {
T = ctrl1.key(n).time;
} else {
T = time;
}
}
} else {
T = time;
}
return T;
}
marker版本:
function markerTime() {
if (marker.numKeys > 0) {
m = marker.nearestKey(time);
if (m.index == 1 && time <= m.time) {
return time;
} else {
if (m.time > time) {
m = marker.key(m.index - 1);
}
mT = m.time;
mD = m.duration;
mTandD = mT + mD;
if (time > mT && time < mTandD) {
T = mT;
return T;
} else {
return time;
}
}
} else {
return time;
}
}
© leizingjiu | Powered by LOFTER