支持spine4.3
This commit is contained in:
1 parent
63e4f61631
commit
0656684a92
206 files changed
+100597
-1320
No files matched your search
@@ -0,0 +1,91 @@
|
||||
/******************************************************************************
|
||||
* Spine Runtimes License Agreement
|
||||
* Last updated April 5, 2025. Replaces all prior versions.
|
||||
*
|
||||
* Copyright (c) 2013-2025, Esoteric Software LLC
|
||||
*
|
||||
* Integration of the Spine Runtimes into software or otherwise creating
|
||||
* derivative works of the Spine Runtimes is permitted under the terms and
|
||||
* conditions of Section 2 of the Spine Editor License Agreement:
|
||||
* http://esotericsoftware.com/spine-editor-license
|
||||
*
|
||||
* Otherwise, it is permitted to integrate the Spine Runtimes into software
|
||||
* or otherwise create derivative works of the Spine Runtimes (collectively,
|
||||
* "Products"), provided that each user of the Products must obtain their own
|
||||
* Spine Editor license and redistribution of the Products in any form must
|
||||
* include this license and copyright notice.
|
||||
*
|
||||
* THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES,
|
||||
* BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
import { ConstraintData, ScaleYMode } from "./ConstraintData.js";
|
||||
import { PhysicsConstraint } from "./PhysicsConstraint.js";
|
||||
import { PhysicsConstraintPose } from "./PhysicsConstraintPose.js";
|
||||
/** Stores the setup pose for a {@link PhysicsConstraint}.
|
||||
*
|
||||
* See <a href="http://esotericsoftware.com/spine-physics-constraints">Physics constraints</a> in the Spine User Guide. */
|
||||
export class PhysicsConstraintData extends ConstraintData {
|
||||
/** The bone constrained by this physics constraint. */
|
||||
set bone(boneData) { this._bone = boneData; }
|
||||
get bone() {
|
||||
if (!this._bone)
|
||||
throw new Error("BoneData not set.");
|
||||
else
|
||||
return this._bone;
|
||||
}
|
||||
_bone = null;
|
||||
/** Physics influence on x translation, 0-1. */
|
||||
x = 0;
|
||||
/** Physics influence on y translation, 0-1. */
|
||||
y = 0;
|
||||
/** Physics influence on rotation, 0-1. */
|
||||
rotate = 0;
|
||||
/** Physics influence on scaleX, 0-1. */
|
||||
scaleX = 0;
|
||||
/** Physics influence on shearX, 0-1. */
|
||||
shearX = 0;
|
||||
/** Movement greater than the limit will not have a greater affect on physics. */
|
||||
limit = 0;
|
||||
/** The time in milliseconds required to advanced the physics simulation one step. */
|
||||
step = 0;
|
||||
/** True when this constraint's inertia is controlled by global slider timelines. */
|
||||
inertiaGlobal = false;
|
||||
/** True when this constraint's strength is controlled by global slider timelines. */
|
||||
strengthGlobal = false;
|
||||
/** True when this constraint's damping is controlled by global slider timelines. */
|
||||
dampingGlobal = false;
|
||||
/** True when this constraint's mass is controlled by global slider timelines. */
|
||||
massGlobal = false;
|
||||
/** True when this constraint's wind is controlled by global slider timelines. */
|
||||
windGlobal = false;
|
||||
/** True when this constraint's gravity is controlled by global slider timelines. */
|
||||
gravityGlobal = false;
|
||||
/** True when this constraint's mix is controlled by global slider timelines. */
|
||||
mixGlobal = false;
|
||||
/** Determines how the {@link BonePose.scaleY} changes when {@link BonePose.scaleX} sets
|
||||
* {@link BonePose.scaleX}. */
|
||||
_scaleYMode = ScaleYMode.None;
|
||||
get scaleYMode() {
|
||||
return this._scaleYMode;
|
||||
}
|
||||
set scaleYMode(scaleYMode) {
|
||||
if (scaleYMode == null)
|
||||
throw new Error("scaleYMode cannot be null.");
|
||||
this._scaleYMode = scaleYMode;
|
||||
}
|
||||
constructor(name) {
|
||||
super(name, new PhysicsConstraintPose());
|
||||
}
|
||||
create(skeleton) {
|
||||
return new PhysicsConstraint(this, skeleton);
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGh5c2ljc0NvbnN0cmFpbnREYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1BoeXNpY3NDb25zdHJhaW50RGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OytFQTJCK0U7QUFJL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUluRTs7MEhBRTBIO0FBQzFILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxjQUF3RDtJQUNsRyx1REFBdUQ7SUFDdkQsSUFBVyxJQUFJLENBQUUsUUFBa0IsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDL0QsSUFBVyxJQUFJO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBOztZQUNoRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUNPLEtBQUssR0FBb0IsSUFBSSxDQUFDO0lBRXRDLCtDQUErQztJQUMvQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRU4sK0NBQStDO0lBQy9DLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFTiwwQ0FBMEM7SUFDMUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVYLHdDQUF3QztJQUN4QyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRVgsd0NBQXdDO0lBQ3hDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFFWCxpRkFBaUY7SUFDakYsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUVWLHFGQUFxRjtJQUNyRixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBRVQsb0ZBQW9GO0lBQ3BGLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEIscUZBQXFGO0lBQ3JGLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFdkIsb0ZBQW9GO0lBQ3BGLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEIsaUZBQWlGO0lBQ2pGLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFbkIsaUZBQWlGO0lBQ2pGLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFFbkIsb0ZBQW9GO0lBQ3BGLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFdEIsZ0ZBQWdGO0lBQ2hGLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFFbEI7a0NBQzhCO0lBQ3RCLFdBQVcsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ3RDLElBQUksVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxVQUFVLENBQUUsVUFBc0I7UUFDckMsSUFBSSxVQUFVLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBYSxJQUFZO1FBQ3hCLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLE1BQU0sQ0FBRSxRQUFrQjtRQUNoQyxPQUFPLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFNwaW5lIFJ1bnRpbWVzIExpY2Vuc2UgQWdyZWVtZW50XG4gKiBMYXN0IHVwZGF0ZWQgQXByaWwgNSwgMjAyNS4gUmVwbGFjZXMgYWxsIHByaW9yIHZlcnNpb25zLlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxMy0yMDI1LCBFc290ZXJpYyBTb2Z0d2FyZSBMTENcbiAqXG4gKiBJbnRlZ3JhdGlvbiBvZiB0aGUgU3BpbmUgUnVudGltZXMgaW50byBzb2Z0d2FyZSBvciBvdGhlcndpc2UgY3JlYXRpbmdcbiAqIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIGlzIHBlcm1pdHRlZCB1bmRlciB0aGUgdGVybXMgYW5kXG4gKiBjb25kaXRpb25zIG9mIFNlY3Rpb24gMiBvZiB0aGUgU3BpbmUgRWRpdG9yIExpY2Vuc2UgQWdyZWVtZW50OlxuICogaHR0cDovL2Vzb3Rlcmljc29mdHdhcmUuY29tL3NwaW5lLWVkaXRvci1saWNlbnNlXG4gKlxuICogT3RoZXJ3aXNlLCBpdCBpcyBwZXJtaXR0ZWQgdG8gaW50ZWdyYXRlIHRoZSBTcGluZSBSdW50aW1lcyBpbnRvIHNvZnR3YXJlXG4gKiBvciBvdGhlcndpc2UgY3JlYXRlIGRlcml2YXRpdmUgd29ya3Mgb2YgdGhlIFNwaW5lIFJ1bnRpbWVzIChjb2xsZWN0aXZlbHksXG4gKiBcIlByb2R1Y3RzXCIpLCBwcm92aWRlZCB0aGF0IGVhY2ggdXNlciBvZiB0aGUgUHJvZHVjdHMgbXVzdCBvYnRhaW4gdGhlaXIgb3duXG4gKiBTcGluZSBFZGl0b3IgbGljZW5zZSBhbmQgcmVkaXN0cmlidXRpb24gb2YgdGhlIFByb2R1Y3RzIGluIGFueSBmb3JtIG11c3RcbiAqIGluY2x1ZGUgdGhpcyBsaWNlbnNlIGFuZCBjb3B5cmlnaHQgbm90aWNlLlxuICpcbiAqIFRIRSBTUElORSBSVU5USU1FUyBBUkUgUFJPVklERUQgQlkgRVNPVEVSSUMgU09GVFdBUkUgTExDIFwiQVMgSVNcIiBBTkQgQU5ZXG4gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEXG4gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFXG4gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBFU09URVJJQyBTT0ZUV0FSRSBMTEMgQkUgTElBQkxFIEZPUiBBTllcbiAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTXG4gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVMsXG4gKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04sIE9SIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTKSBIT1dFVkVSIENBVVNFRCBBTkRcbiAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0ZcbiAqIFRIRSBTUElORSBSVU5USU1FUywgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS5cbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBCb25lRGF0YSB9IGZyb20gXCIuL0JvbmVEYXRhLmpzXCI7XG5pbXBvcnQgdHlwZSB7IEJvbmVQb3NlIH0gZnJvbSBcIi4vQm9uZVBvc2UuanNcIjtcbmltcG9ydCB7IENvbnN0cmFpbnREYXRhLCBTY2FsZVlNb2RlIH0gZnJvbSBcIi4vQ29uc3RyYWludERhdGEuanNcIjtcbmltcG9ydCB7IFBoeXNpY3NDb25zdHJhaW50IH0gZnJvbSBcIi4vUGh5c2ljc0NvbnN0cmFpbnQuanNcIjtcbmltcG9ydCB7IFBoeXNpY3NDb25zdHJhaW50UG9zZSB9IGZyb20gXCIuL1BoeXNpY3NDb25zdHJhaW50UG9zZS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBTa2VsZXRvbiB9IGZyb20gXCIuL1NrZWxldG9uLmpzXCI7XG5cblxuLyoqIFN0b3JlcyB0aGUgc2V0dXAgcG9zZSBmb3IgYSB7QGxpbmsgU
Line truncated
|
||||
Reference in new issue
Block a user