feat: 第一次上传代码
This commit is contained in:
86
node_modules/lottie-web/player/js/utils/expressions/expressionHelpers.js
generated
vendored
Normal file
86
node_modules/lottie-web/player/js/utils/expressions/expressionHelpers.js
generated
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
import {
|
||||
createTypedArray,
|
||||
} from '../helpers/arrays';
|
||||
import ExpressionManager from './ExpressionManager';
|
||||
|
||||
const expressionHelpers = (function () {
|
||||
function searchExpressions(elem, data, prop) {
|
||||
if (data.x) {
|
||||
prop.k = true;
|
||||
prop.x = true;
|
||||
prop.initiateExpression = ExpressionManager.initiateExpression;
|
||||
prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));
|
||||
}
|
||||
}
|
||||
|
||||
function getValueAtTime(frameNum) {
|
||||
frameNum *= this.elem.globalData.frameRate;
|
||||
frameNum -= this.offsetTime;
|
||||
if (frameNum !== this._cachingAtTime.lastFrame) {
|
||||
this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;
|
||||
this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);
|
||||
this._cachingAtTime.lastFrame = frameNum;
|
||||
}
|
||||
return this._cachingAtTime.value;
|
||||
}
|
||||
|
||||
function getSpeedAtTime(frameNum) {
|
||||
var delta = -0.01;
|
||||
var v1 = this.getValueAtTime(frameNum);
|
||||
var v2 = this.getValueAtTime(frameNum + delta);
|
||||
var speed = 0;
|
||||
if (v1.length) {
|
||||
var i;
|
||||
for (i = 0; i < v1.length; i += 1) {
|
||||
speed += Math.pow(v2[i] - v1[i], 2);
|
||||
}
|
||||
speed = Math.sqrt(speed) * 100;
|
||||
} else {
|
||||
speed = 0;
|
||||
}
|
||||
return speed;
|
||||
}
|
||||
|
||||
function getVelocityAtTime(frameNum) {
|
||||
if (this.vel !== undefined) {
|
||||
return this.vel;
|
||||
}
|
||||
var delta = -0.001;
|
||||
// frameNum += this.elem.data.st;
|
||||
var v1 = this.getValueAtTime(frameNum);
|
||||
var v2 = this.getValueAtTime(frameNum + delta);
|
||||
var velocity;
|
||||
if (v1.length) {
|
||||
velocity = createTypedArray('float32', v1.length);
|
||||
var i;
|
||||
for (i = 0; i < v1.length; i += 1) {
|
||||
// removing frameRate
|
||||
// if needed, don't add it here
|
||||
// velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);
|
||||
velocity[i] = (v2[i] - v1[i]) / delta;
|
||||
}
|
||||
} else {
|
||||
velocity = (v2 - v1) / delta;
|
||||
}
|
||||
return velocity;
|
||||
}
|
||||
|
||||
function getStaticValueAtTime() {
|
||||
return this.pv;
|
||||
}
|
||||
|
||||
function setGroupProperty(propertyGroup) {
|
||||
this.propertyGroup = propertyGroup;
|
||||
}
|
||||
|
||||
return {
|
||||
searchExpressions: searchExpressions,
|
||||
getSpeedAtTime: getSpeedAtTime,
|
||||
getVelocityAtTime: getVelocityAtTime,
|
||||
getValueAtTime: getValueAtTime,
|
||||
getStaticValueAtTime: getStaticValueAtTime,
|
||||
setGroupProperty: setGroupProperty,
|
||||
};
|
||||
}());
|
||||
|
||||
export default expressionHelpers;
|
||||
Reference in New Issue
Block a user