Commit a7cc2d40 authored by wjf's avatar wjf

l

parent 01a093d8
This diff is collapsed.
This diff is collapsed.
...@@ -67,7 +67,7 @@ export function createTextureSheet(baseTexture: BaseTexture, altaData) { ...@@ -67,7 +67,7 @@ export function createTextureSheet(baseTexture: BaseTexture, altaData) {
} }
//如果是被截掉过透明边界的 //如果是被截掉过透明边界的
if (data.ox || data.oy) { if (data.ox || data.oy || data.w != data.sw || data.h != data.sh) {
//其实就是在orig上切图,偏移 //其实就是在orig上切图,偏移
trim = new Rectangle( trim = new Rectangle(
Math.floor(data.ox), Math.floor(data.ox),
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
import { getBezierEasing } from "./BezierEaser";
export function buildBezierEaserProps(
startValue: number[],
endValue: number[],
outV,
inV,
startIndex: number,
endIndex: number,
points,
useH:boolean,
limit?: number
) {
if(useH){
for (var k = startIndex; k < endIndex; k++) {//这时不算最后一个
points[k] = startValue.slice();
}
return
}
var outX, outY, inX, inY, keyValue, perc;
var len = startValue.length;
var fncts, fnc;
if (outV.x.constructor === Array) {
fncts = [];
for (var i = 0; i < len; i++) {
outX = (typeof outV.x[i] === 'undefined') ? outV.x[0] : outV.x[i];
outY = (typeof outV.y[i] === 'undefined') ? outV.y[0] : outV.y[i];
inX = (typeof inV.x[i] === 'undefined') ? inV.x[0] : inV.x[i];
inY = (typeof inV.y[i] === 'undefined') ? inV.y[0] : inV.y[i];
fncts[i] = getBezierEasing(outX, outY, inX, inY).get;
}
} else {
outX = outV.x;
outY = outV.y;
inX = inV.x;
inY = inV.y;
fnc = getBezierEasing(outX, outY, inX, inY).get;
}
var delta = endIndex - startIndex
for (var k = startIndex; k <= endIndex; k++) {
if (limit) {
//小于0的不算了,浪费时间
if (k < 0) continue;
//超出的也不要了
if (k >= limit) break;//遇到那种
}
var frameNum = k;
var newValue = [];
for (var i = 0; i < len; i += 1) {
if (frameNum == endIndex) {
perc = 1;
} else if (frameNum == startIndex) {
perc = 0;
} else {
if (fncts) {
perc = fncts[i]((frameNum - startIndex) / delta);
} else {
perc = fnc((frameNum - startIndex) / delta);
}
}
keyValue = startValue[i] + (endValue[i] - startValue[i]) * perc;
newValue[i] = keyValue;
}
points[k] = newValue
}
}
\ No newline at end of file
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
export function buildBezierProps(pt1, pt2, pt3, pt4, startIndex, endIndex, points, fnc, limit?: number) { export function buildBezierProps(pt1, pt2, pt3, pt4, startIndex, endIndex, points, fnc, limit?: number) {
var bezierData = buildBezierData(pt1, pt2, pt3, pt4); var bezierData = buildBezierData(pt1, pt2, pt3, pt4);
//处理完所有的点 //处理完所有的点
for (var i = startIndex; i < endIndex; i++) { for (var i = startIndex; i <= endIndex; i++) {
if (limit) { if (limit) {
//小于0的不算了,浪费时间 //小于0的不算了,浪费时间
if (i < 0) continue; if (i < 0) continue;
...@@ -16,6 +16,10 @@ export function buildBezierProps(pt1, pt2, pt3, pt4, startIndex, endIndex, point ...@@ -16,6 +16,10 @@ export function buildBezierProps(pt1, pt2, pt3, pt4, startIndex, endIndex, point
points[i] = bezierData.points[0].point; points[i] = bezierData.points[0].point;
continue; continue;
} }
if (perc == 1) {
points[i] = bezierData.points[bezierData.points.length - 1].point;
continue;
}
//找最近的点 //找最近的点
points[i] = findNearest(distanceInLine, bezierData.points); points[i] = findNearest(distanceInLine, bezierData.points);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment