07d743236b9072573c3380e231a22c2ce267f253 6.5 KB

12345678
  1. {
  2. "code": "var Vector3 = Laya.Vector3;\r\nimport { GameUtils } from \"./GameUtils\";\r\nexport class BezierCurve {\r\n constructor(pts) {\r\n this.pts = new Array();\r\n this.add_0 = new Vector3();\r\n this.add_1 = new Vector3();\r\n this.add_2 = new Vector3();\r\n this.end = new Vector3();\r\n this.step0_0 = new Vector3();\r\n this.step0_1 = new Vector3();\r\n this.step0_2 = new Vector3();\r\n this.step0 = new Vector3();\r\n this.step1_0 = new Vector3();\r\n this.step1_1 = new Vector3();\r\n this.step1_2 = new Vector3();\r\n this.step1 = new Vector3();\r\n this.step2_0 = new Vector3();\r\n this.step2 = new Vector3();\r\n for (var i = 0; i < pts.length; i++) {\r\n this.pts.push(pts[i].clone());\r\n }\r\n }\r\n get CurrPtr() {\r\n return this.currPtr;\r\n }\r\n get PathLength() {\r\n var le = 0;\r\n for (var i = 0; i < this.pts.length - 1; i++) {\r\n var dis = Vector3.distance(this.pts[i], this.pts[i + 1]);\r\n le += dis;\r\n }\r\n return le;\r\n }\r\n Interp(t) {\r\n let numSections = this.pts.length - 3;\r\n this.currPtr = Math.min(Math.floor(t * numSections), numSections - 1);\r\n let u = t * numSections - this.currPtr;\r\n let a = this.pts[this.currPtr];\r\n let b = this.pts[this.currPtr + 1];\r\n let c = this.pts[this.currPtr + 2];\r\n let d = this.pts[this.currPtr + 3];\r\n if (a == null || b == null || c == null || d == null) {\r\n return;\r\n }\r\n let uu = u * u;\r\n let uuu = uu * u;\r\n let b3 = GameUtils.ScaleVector3(b, 3);\r\n let c3 = GameUtils.ScaleVector3(c, 3);\r\n let a2 = GameUtils.ScaleVector3(a, 2);\r\n let b5 = GameUtils.ScaleVector3(b, 5);\r\n let c4 = GameUtils.ScaleVector3(c, 4);\r\n let b2 = GameUtils.ScaleVector3(b, 2);\r\n Vector3.subtract(b3, a, this.step0_0);\r\n Vector3.subtract(this.step0_0, c3, this.step0_1);\r\n Vector3.add(this.step0_1, d, this.step0_2);\r\n this.step0 = GameUtils.ScaleVector3(this.step0_2, uuu);\r\n Vector3.subtract(a2, b5, this.step1_0);\r\n Vector3.add(this.step1_0, c4, this.step1_1);\r\n Vector3.subtract(this.step1_1, d, this.step1_2);\r\n this.step1 = GameUtils.ScaleVector3(this.step1_2, uu);\r\n Vector3.subtract(c, a, this.step2_0);\r\n this.step2 = GameUtils.ScaleVector3(this.step2_0, u);\r\n Vector3.add(this.step0, this.step1, this.add_0);\r\n Vector3.add(this.add_0, this.step2, this.add_1);\r\n Vector3.add(this.add_1, b2, this.add_2);\r\n this.end = GameUtils.ScaleVector3(this.add_2, 0.5);\r\n return this.end;\r\n }\r\n}\r\n//# sourceMappingURL=BezierCurve.js.map",
  3. "references": [
  4. "D:/ddccc2/ddccc/src/Util/GameUtils.ts"
  5. ],
  6. "map": "{\"version\":3,\"file\":\"BezierCurve.js\",\"sourceRoot\":\"\",\"sources\":[\"../../../src/Util/BezierCurve.ts\"],\"names\":[],\"mappings\":\"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\"}"
  7. }