diff --git a/spine-haxe/spine-haxe/spine/Bone.hx b/spine-haxe/spine-haxe/spine/Bone.hx index 3494741d5..fadb6810b 100644 --- a/spine-haxe/spine-haxe/spine/Bone.hx +++ b/spine-haxe/spine-haxe/spine/Bone.hx @@ -70,17 +70,17 @@ class Bone implements Updatable { public var ashearX:Float = 0; /** The applied local shearY. */ public var ashearY:Float = 0; - /** Part of the world transform matrix for the X axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the X axis. If changed, updateAppliedTransform() should be called. */ public var a:Float = 0; - /** Part of the world transform matrix for the Y axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the Y axis. If changed, updateAppliedTransform() should be called. */ public var b:Float = 0; - /** Part of the world transform matrix for the X axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the X axis. If changed, updateAppliedTransform() should be called. */ public var c:Float = 0; - /** Part of the world transform matrix for the Y axis. If changed, {@link #updateAppliedTransform()} should be called. */ + /** Part of the world transform matrix for the Y axis. If changed, updateAppliedTransform() should be called. */ public var d:Float = 0; - /** The world X position. If changed, {@link #updateAppliedTransform()} should be called. */ + /** The world X position. If changed, updateAppliedTransform() should be called. */ public var worldX:Float = 0; - /** The world Y position. If changed, {@link #updateAppliedTransform()} should be called. */ + /** The world Y position. If changed, updateAppliedTransform() should be called. */ public var worldY:Float = 0; /** Determines how parent world transforms affect this bone. */ public var inherit:Inherit = Inherit.normal; @@ -115,7 +115,7 @@ class Bone implements Updatable { return _children; } - /** @param parent May be null. */ + /** Copy constructor. Does not copy the children bones. */ public function new(data:BoneData, skeleton:Skeleton, parent:Bone) { if (data == null) throw new SpineException("data cannot be null."); @@ -138,7 +138,7 @@ class Bone implements Updatable { /** Computes the world transform using the parent bone and this bone's local transform. *
- * See {@link #updateWorldTransformWith(float, float, float, float, float, float, float)}. */ + * See updateWorldTransformWith(). */ public function updateWorldTransform():Void { updateWorldTransformWith(x, y, rotation, scaleX, scaleY, shearX, shearY); } @@ -284,7 +284,7 @@ class Bone implements Updatable { /** Computes the applied transform values from the world transform. *
- * If the world transform is modified (by a constraint, {@link #rotateWorld(float)}, etc) then this method should be called so + * If the world transform is modified (by a constraint, rotateWorld(), etc) then this method should be called so * the applied transform matches the world transform. The applied transform may be needed by other code (eg to apply another * constraint). *
@@ -370,58 +370,49 @@ class Bone implements Updatable {
}
}
- /** The world rotation for the X axis, calculated using {@link #a} and {@link #c}. */
+ /** The world rotation for the X axis, calculated using a and c. */
public var worldRotationX(get, never):Float;
private function get_worldRotationX():Float {
return Math.atan2(c, a) * MathUtils.radDeg;
}
- /** The world rotation for the Y axis, calculated using {@link #b} and {@link #d}. */
+ /** The world rotation for the Y axis, calculated using b and d. */
public var worldRotationY(get, never):Float;
private function get_worldRotationY():Float {
return Math.atan2(d, b) * MathUtils.radDeg;
}
- /** The magnitude (always positive) of the world scale X, calculated using {@link #a} and {@link #c}. */
+ /** The magnitude (always positive) of the world scale X, calculated using a and c. */
public var worldScaleX(get, never):Float;
private function get_worldScaleX():Float {
return Math.sqrt(a * a + c * c);
}
- /** The magnitude (always positive) of the world scale Y, calculated using {@link #b} and {@link #d}. */
+ /** The magnitude (always positive) of the world scale Y, calculated using b and d. */
public var worldScaleY(get, never):Float;
private function get_worldScaleY():Float {
return Math.sqrt(b * b + d * d);
}
- /** Transforms a point from world coordinates to the parent bone's local coordinates.
- * @param world The world coordinates to transform.
- * @return The transformed coordinates in the parent's local space.
- */
- private function worldToParent(world: Array
- * After changes are made to the world transform, {@link #updateAppliedTransform()} should be called and
- * {@link #update(Physics)} will need to be called on any child bones, recursively.
- * @param degrees The rotation in degrees.
- */
+ * After changes are made to the world transform, updateAppliedTransform() should be called and
+ * update() will need to be called on any child bones, recursively. */
public function rotateWorld(degrees:Float):Void {
degrees *= MathUtils.degRad;
var sin:Float = Math.sin(degrees), cos:Float = Math.cos(degrees);
diff --git a/spine-haxe/spine-haxe/spine/BoneData.hx b/spine-haxe/spine-haxe/spine/BoneData.hx
index 698f42914..cf78839f8 100644
--- a/spine-haxe/spine-haxe/spine/BoneData.hx
+++ b/spine-haxe/spine-haxe/spine/BoneData.hx
@@ -29,7 +29,7 @@
package spine;
-/** Stores the setup pose for a {@link Bone}. */
+/** Stores the setup pose for a spine.Bone. */
class BoneData {
private var _index:Int;
private var _name:String;
@@ -53,10 +53,9 @@ class BoneData {
public var shearY:Float = 0;
/** Determines how parent world transforms affect this bone. */
public var inherit:Inherit = Inherit.normal;
- /** When true, {@link Skeleton#updateWorldTransform()} only updates this bone if the {@link Skeleton#getSkin()} contains
+ /** When true, spine.Skeleton.updateWorldTransform() only updates this bone if the spine.Skeleton.getSkin() contains
* this bone.
- *
- * See {@link Skin#getBones()}. */
+ * @see spine.Skin.getBones() */
public var skinRequired:Bool = false;
/** The color of the bone as it was in Spine, or a default color if nonessential data was not exported. Bones are not usually
* rendered at runtime. */
@@ -66,7 +65,7 @@ class BoneData {
/** False if the bone was hidden in Spine and nonessential data was exported. Does not affect runtime rendering. */
public var visible:Bool = false;
- /** @param parent May be null. */
+ /** Copy constructor. */
public function new(index:Int, name:String, parent:BoneData) {
if (index < 0)
throw new SpineException("index must be >= 0");
@@ -77,7 +76,7 @@ class BoneData {
_parent = parent;
}
- /** The index of the bone in {@link Skeleton#getBones()}. */
+ /** The index of the bone in spine.Skeleton.getBones(). */
public var index(get, never):Int;
private function get_index():Int {
@@ -87,7 +86,7 @@ class BoneData {
/** The name of the bone, which is unique across all bones in the skeleton. */
public var name(get, never):String;
- function get_name():String {
+ private function get_name():String {
return _name;
}
diff --git a/spine-haxe/spine-haxe/spine/ConstraintData.hx b/spine-haxe/spine-haxe/spine/ConstraintData.hx
index 1a1c6244b..ab88a6d32 100644
--- a/spine-haxe/spine-haxe/spine/ConstraintData.hx
+++ b/spine-haxe/spine-haxe/spine/ConstraintData.hx
@@ -34,12 +34,11 @@ class ConstraintData {
/** The constraint's name, which is unique across all constraints in the skeleton of the same type. */
public var name:String;
/** The ordinal of this constraint for the order a skeleton's constraints will be applied by
- * Skeleton#updateWorldTransform(). */
+ * spine.Skeleton.updateWorldTransform(). */
public var order:Int = 0;
- /** When true, Skeleton#updateWorldTransform() only updates this constraint if the Skeleton#getSkin()
+ /** When true, spine.Skeleton.updateWorldTransform() only updates this constraint if the spine.Skeleton.getSkin()
* contains this constraint.
- *
- * See Skin#getConstraints(). */
+ * @see spine.Skin.getConstraints() */
public var skinRequired:Bool = false;
function new(name:String, order:Int, skinRequired:Bool) {
diff --git a/spine-haxe/spine-haxe/spine/Event.hx b/spine-haxe/spine-haxe/spine/Event.hx
index f100895bd..7d8d4fc80 100644
--- a/spine-haxe/spine-haxe/spine/Event.hx
+++ b/spine-haxe/spine-haxe/spine/Event.hx
@@ -29,12 +29,12 @@
package spine;
-/** Stores the current pose values for an {@link Event}.
- *
- * See Timeline
- * {@link Timeline#apply(Skeleton, float, float, com.badlogic.gdx.utils.Array, float, com.esotericsoftware.spine.Animation.MixBlend, com.esotericsoftware.spine.Animation.MixDirection)},
- * AnimationStateListener {@link AnimationStateListener#event(com.esotericsoftware.spine.AnimationState.TrackEntry, Event)}, and
- * Events in the Spine User Guide. */
+/** Stores the current pose values for an Event.
+ *
+ * @see spine.Timeline
+ * @see spine.Timeline.apply()
+ * @see spine.AnimationStateListener.event()
+ * @see Events in the Spine User Guide. */
class Event {
private var _data:EventData;
diff --git a/spine-haxe/spine-haxe/spine/EventData.hx b/spine-haxe/spine-haxe/spine/EventData.hx
index 34c6c28ca..3980d55ea 100644
--- a/spine-haxe/spine-haxe/spine/EventData.hx
+++ b/spine-haxe/spine-haxe/spine/EventData.hx
@@ -29,8 +29,8 @@
package spine;
-/** Stores the setup pose values for an {@link Event}.
- *
+/** Stores the setup pose values for an spine.Event.
+ *
* See Events in the Spine User Guide. */
class EventData {
private var _name:String;
diff --git a/spine-haxe/spine-haxe/spine/HasTextureRegion.hx b/spine-haxe/spine-haxe/spine/HasTextureRegion.hx
index a34a79481..af727e472 100644
--- a/spine-haxe/spine-haxe/spine/HasTextureRegion.hx
+++ b/spine-haxe/spine-haxe/spine/HasTextureRegion.hx
@@ -30,15 +30,15 @@
package spine;
interface HasTextureRegion {
- /** The name used to find the {@link #region}. */
+ /** The name used to find the region. */
public var path:String;
/** Sets the region used to draw the attachment. After setting the region or if the region's properties are changed,
- * {@link #updateRegion()} must be called. */
+ * updateRegion() must be called. */
public var region:TextureRegion;
/** The color to tint the attachment. */
public var color:Color;
public var sequence:Sequence;
- /** Updates any values the attachment calculates using the {@link #region}. Must be called after setting the
- * {@link #region} or if the region's properties are changed. */
+ /** Updates any values the attachment calculates using the region. Must be called after setting the
+ * region or if the region's properties are changed. */
public function updateRegion():Void;
}
diff --git a/spine-haxe/spine-haxe/spine/IkConstraint.hx b/spine-haxe/spine-haxe/spine/IkConstraint.hx
index c62015545..2e816bbad 100644
--- a/spine-haxe/spine-haxe/spine/IkConstraint.hx
+++ b/spine-haxe/spine-haxe/spine/IkConstraint.hx
@@ -46,7 +46,7 @@ class IkConstraint implements Updatable {
public var compress:Bool = false;
/** When true and the target is out of range, the parent bone is scaled to reach it.
*
- * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if {@link #getSoftness()} is
+ * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if getSoftness() is
* > 0, and 3) if the parent bone has local nonuniform scale, stretch is not applied. */
public var stretch:Bool = false;
/** A percentage (0-1) that controls the mix between the constrained and unconstrained rotation.
@@ -58,6 +58,7 @@ class IkConstraint implements Updatable {
public var softness:Float = 0;
public var active:Bool = false;
+ /** Copy constructor. */
public function new(data:IkConstraintData, skeleton:Skeleton) {
if (data == null)
throw new SpineException("data cannot be null.");
@@ -111,7 +112,7 @@ class IkConstraint implements Updatable {
}
public function toString():String {
- return _data.name != null ? _data.name : "IkContstraint?";
+ return _data.name != null ? _data.name : "IkConstraint?";
}
/** Applies 1 bone IK. The target is specified in the world coordinate system. */
diff --git a/spine-haxe/spine-haxe/spine/IkConstraintData.hx b/spine-haxe/spine-haxe/spine/IkConstraintData.hx
index a26aae5cd..d5fa3128a 100644
--- a/spine-haxe/spine-haxe/spine/IkConstraintData.hx
+++ b/spine-haxe/spine-haxe/spine/IkConstraintData.hx
@@ -29,8 +29,8 @@
package spine;
-/** Stores the setup pose for an {@link IkConstraint}.
- *
+/** Stores the setup pose for a spine.IkConstraint.
+ *
* See IK constraints in the Spine User Guide. */
class IkConstraintData extends ConstraintData {
/** The bones that are constrained by this IK constraint. */
@@ -47,10 +47,10 @@ class IkConstraintData extends ConstraintData {
public var compress:Bool = false;
/** When true and the target is out of range, the parent bone is scaled to reach it.
*
- * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if {@link #getSoftness()} is
+ * For two bone IK: 1) the child bone's local Y translation is set to 0, 2) stretch is not applied if softness is
* > 0, and 3) if the parent bone has local nonuniform scale, stretch is not applied. */
public var stretch:Bool = false;
- /** When true and {@link #getCompress()} or {@link #getStretch()} is used, the bone is scaled on both the X and Y axes. */
+ /** When true and compress or stretch is used, the bone is scaled on both the X and Y axes. */
public var uniform:Bool = false;
/** For two bone IK, the target bone's distance from the maximum reach of the bones where rotation begins to slow. The bones
* will not straighten completely until the target is this far out of range. */
diff --git a/spine-haxe/spine-haxe/spine/PathConstraintData.hx b/spine-haxe/spine-haxe/spine/PathConstraintData.hx
index d9be73750..70db20ef6 100644
--- a/spine-haxe/spine-haxe/spine/PathConstraintData.hx
+++ b/spine-haxe/spine-haxe/spine/PathConstraintData.hx
@@ -29,14 +29,14 @@
package spine;
-/** Stores the setup pose for a {@link PathConstraint}.
- *
+/** Stores the setup pose for a spine.PathConstraint.
+ *
* See Path constraints in the Spine User Guide. */
class PathConstraintData extends ConstraintData {
/** The bones that will be modified by this path constraint. */
private var _bones:Array
+ *
* See Physics constraints in the Spine User Guide. */
class PhysicsConstraint implements Updatable {
private var _data:PhysicsConstraintData;
@@ -42,6 +42,7 @@ class PhysicsConstraint implements Updatable {
public var massInverse:Float = 0;
public var wind:Float = 0;
public var gravity:Float = 0;
+ /** A percentage (0-1) that controls the mix between the constrained and unconstrained poses. */
public var mix:Float = 0;
private var _reset:Bool = true;
diff --git a/spine-haxe/spine-haxe/spine/Pool.hx b/spine-haxe/spine-haxe/spine/Pool.hx
index bd80fa9a0..e2b09e26e 100644
--- a/spine-haxe/spine-haxe/spine/Pool.hx
+++ b/spine-haxe/spine-haxe/spine/Pool.hx
@@ -44,6 +44,11 @@ typedef Function = haxe.Constraints.Function;
this.instantiator = instantiator;
}
+ /**
+ * This pool keeps a reference to the obtained instance, so it should be returned to the pool via Pool.free(),
+ * Pool.freeAll() or clear() to avoid leaking memory.
+ * @return The obtained instance from the pool or a new instance if the pool is empty.
+ */
public function obtain():T {
return this.items.length > 0 ? this.items.pop() : this.instantiator();
}
diff --git a/spine-haxe/spine-haxe/spine/PositionMode.hx b/spine-haxe/spine-haxe/spine/PositionMode.hx
index 4c08d68a3..2f8437104 100644
--- a/spine-haxe/spine-haxe/spine/PositionMode.hx
+++ b/spine-haxe/spine-haxe/spine/PositionMode.hx
@@ -29,10 +29,12 @@
package spine;
-/** Controls how the first bone is positioned along the path.
+/**
+ * Controls how the first bone is positioned along the path.
*
* See Position mode in the Spine User
- * Guide. */
+ * Guide.
+ */
class PositionMode {
public static var fixed(default, never):PositionMode = new PositionMode("fixed");
public static var percent(default, never):PositionMode = new PositionMode("percent");
diff --git a/spine-haxe/spine-haxe/spine/Skeleton.hx b/spine-haxe/spine-haxe/spine/Skeleton.hx
index d747bb667..99e00f6eb 100644
--- a/spine-haxe/spine-haxe/spine/Skeleton.hx
+++ b/spine-haxe/spine-haxe/spine/Skeleton.hx
@@ -86,9 +86,9 @@ class Skeleton {
*
* Bones that do not inherit translation are still affected by this property. */
public var y:Float = 0;
- /** Returns the skeleton's time. This is used for time-based manipulations, such as {@link PhysicsConstraint}.
+ /** Returns the skeleton's time. This is used for time-based manipulations, such as spine.PhysicsConstraint.
*
- * See {@link #update(float)}. */
+ * See Skeleton.update(). */
public var time:Float = 0;
/** Creates a new skeleton with the specified skeleton data. */
@@ -143,7 +143,7 @@ class Skeleton {
updateCache();
}
- /** Caches information about bones and constraints. Must be called if the {@link #getSkin()} is modified or if bones,
+ /** Caches information about bones and constraints. Must be called if the Skeleton.skin is modified or if bones,
* constraints, or weighted path attachments are added or removed. */
public function updateCache():Void {
_updateCache.resize(0);
@@ -463,7 +463,7 @@ class Skeleton {
return _data;
}
- /** The list of bones and constraints, sorted in the order they should be updated, as computed by {@link #updateCache()}. */
+ /** The list of bones and constraints, sorted in the order they should be updated, as computed by Skeleton.updateCache(). */
public var getUpdateCache(get, never):Array
- * See {@link #setSkin(Skin)}. */
+ * See Skeleton.skin. */
private function set_skinName(skinName:String):String {
var skin:Skin = data.findSkin(skinName);
if (skin == null)
@@ -545,14 +545,14 @@ class Skeleton {
return _skin;
}
- /** Sets the skin used to look up attachments before looking in the {@link SkeletonData#getDefaultSkin() default skin}. If the
- * skin is changed, {@link #updateCache()} is called.
+ /** Sets the skin used to look up attachments before looking in the spine.SkeletonData default skin. If the
+ * skin is changed, Skeleton.updateCache() is called.
*
* Attachments from the new skin are attached if the corresponding attachment from the old skin was attached. If there was no
* old skin, each slot's setup mode attachment is attached from the new skin.
*
* After changing the skin, the visible attachments can be reset to those attached in the setup pose by calling
- * {@link #setSlotsToSetupPose()}. Also, often {@link AnimationState#apply(Skeleton)} is called before the next time the
+ * Skeleton.setSlotsToSetupPose(). Also, often spine.AnimationState.apply() is called before the next time the
* skeleton is rendered to allow any attachment keys in the current animation(s) to hide or show attachments from the new
* skin. */
private function set_skin(newSkin:Skin):Skin {
@@ -579,15 +579,15 @@ class Skeleton {
return _skin;
}
- /** Finds an attachment by looking in the {@link #skin} and {@link SkeletonData#defaultSkin} using the slot name and attachment
+ /** Finds an attachment by looking in the Skeleton.skin and spine.SkeletonData defaultSkin using the slot name and attachment
* name.
*
- * See {@link #getAttachment(int, String)}. */
+ * See Skeleton.getAttachmentForSlotIndex(). */
public function getAttachmentForSlotName(slotName:String, attachmentName:String):Attachment {
return getAttachmentForSlotIndex(data.findSlot(slotName).index, attachmentName);
}
- /** Finds an attachment by looking in the {@link #skin} and {@link SkeletonData#defaultSkin} using the slot index and
+ /** Finds an attachment by looking in the Skeleton.skin and spine.SkeletonData defaultSkin using the slot index and
* attachment name. First the skin is checked and if the attachment was not found, the default skin is checked.
*
* See Runtime skins in the Spine Runtimes Guide. */
@@ -604,8 +604,8 @@ class Skeleton {
return null;
}
- /** A convenience method to set an attachment by finding the slot with {@link #findSlot(String)}, finding the attachment with
- * {@link #getAttachment(int, String)}, then setting the slot's {@link Slot#attachment}.
+ /** A convenience method to set an attachment by finding the slot with Skeleton.findSlot(), finding the attachment with
+ * Skeleton.getAttachmentForSlotIndex(), then setting the slot's spine.Slot attachment.
* @param attachmentName May be null to clear the slot's attachment. */
public function setAttachment(slotName:String, attachmentName:String):Void {
if (slotName == null)
@@ -683,8 +683,8 @@ class Skeleton {
private var _tempVertices = new Array
+ * See Spine binary format and
+ * JSON and binary data in the Spine
+ * Runtimes Guide.
+ */
class SkeletonBinary {
public var attachmentLoader:AttachmentLoader;
public var scale:Float = 1;
diff --git a/spine-haxe/spine-haxe/spine/SkeletonClipping.hx b/spine-haxe/spine-haxe/spine/SkeletonClipping.hx
index 61e1439cd..73099d0b4 100644
--- a/spine-haxe/spine-haxe/spine/SkeletonClipping.hx
+++ b/spine-haxe/spine-haxe/spine/SkeletonClipping.hx
@@ -274,8 +274,10 @@ class SkeletonClipping {
}
}
- /** Clips the input triangle against the convex, clockwise clipping area. If the triangle lies entirely within the clipping
- * area, false is returned. The clipping area must duplicate the first vertex at the end of the vertices list. */
+ /**
+ * Clips the input triangle against the convex, clockwise clipping area. If the triangle lies entirely within the clipping
+ * area, false is returned. The clipping area must duplicate the first vertex at the end of the vertices list.
+ */
public function clip(x1:Float, y1:Float, x2:Float, y2:Float, x3:Float, y3:Float, clippingArea:Array
- * See {@link VertexAttachment#computeWorldVertices(Slot, int, int, float[], int, int)} and {@link DeformTimeline}. */
-
+ * @see spine.attachments.VertexAttachment.computeWorldVertices()
+ * @see spine.animation.DeformTimeline */
public var deform:Array
- * See Transform constraints in the Spine User Guide. */
+/**
+ * Stores the setup pose for a spine.TransformConstraint.
+ *
+ * See Transform constraints in the Spine User Guide.
+ */
class TransformConstraintData extends ConstraintData {
private var _bones:Array
- * See Timeline {@link Timeline#apply(Skeleton, float, float, Array, float, MixBlend, MixDirection)}.
+ *
+ * See Timeline.apply().
* @param skeleton The skeleton the animation is being applied to. This provides access to the bones, slots, and other skeleton
* components the timelines may change.
* @param lastTime The last time in seconds this animation was applied. Some timelines trigger only at specific times rather
* than every frame. Pass -1 the first time an animation is applied to ensure frame 0 is triggered.
* @param time The time in seconds the skeleton is being posed for. Most timelines find the frame before and the frame after
- * this time and interpolate between the frame values. If beyond the {@link #getDuration()} and
+ * See Applying Animations in the Spine Runtimes Guide.
+ */
class AnimationState {
+ /**
+ * 1) A previously applied timeline has set this property.
+ * It may be desired to use spine.animation.AnimationState.setEmptyAnimations() to mix the skeletons back to the setup pose,
+ * rather than leaving them in their current pose.
+ */
public function clearTracks():Void {
var oldTrainDisabled:Bool = queue.drainDisabled;
queue.drainDisabled = true;
@@ -492,6 +563,12 @@ class AnimationState {
queue.drain();
}
+ /**
+ * Removes all animations from the track, leaving skeletons in their current pose.
+ *
+ * It may be desired to use spine.animation.AnimationState.setEmptyAnimation() to mix the skeletons back to the setup pose,
+ * rather than leaving them in their current pose.
+ */
public function clearTrack(trackIndex:Int):Void {
if (trackIndex >= tracks.length)
return;
@@ -540,6 +617,11 @@ class AnimationState {
queue.start(current);
}
+ /**
+ * Sets an animation by name.
+ *
+ * See spine.animation.AnimationState.setAnimation().
+ */
public function setAnimationByName(trackIndex:Int, animationName:String, loop:Bool):TrackEntry {
var animation:Animation = data.skeletonData.findAnimation(animationName);
if (animation == null)
@@ -547,6 +629,14 @@ class AnimationState {
return setAnimation(trackIndex, animation, loop);
}
+ /**
+ * Sets the current animation for a track, discarding any queued animations. If the formerly current track entry was never
+ * applied to a skeleton, it is replaced (not mixed from).
+ * @param loop If true, the animation will repeat. If false it will not, instead its last frame is applied if played beyond its
+ * duration. In either case spine.animation.TrackEntry.getTrackEnd() determines when the track is cleared.
+ * @return A track entry to allow further customization of animation playback. References to the track entry must not be kept
+ * after the spine.animation.AnimationStateListener.dispose() event occurs.
+ */
public function setAnimation(trackIndex:Int, animation:Animation, loop:Bool):TrackEntry {
if (animation == null)
throw new SpineException("animation cannot be null.");
@@ -571,6 +661,11 @@ class AnimationState {
return entry;
}
+ /**
+ * Queues an animation by name.
+ *
+ * See spine.animation.AnimationState.addAnimation().
+ */
public function addAnimationByName(trackIndex:Int, animationName:String, loop:Bool, delay:Float):TrackEntry {
var animation:Animation = data.skeletonData.findAnimation(animationName);
if (animation == null)
@@ -578,6 +673,16 @@ class AnimationState {
return addAnimation(trackIndex, animation, loop, delay);
}
+ /**
+ * Adds an animation to be played after the current or last queued animation for a track. If the track is empty, it is
+ * equivalent to calling spine.animation.AnimationState.setAnimation().
+ * @param delay If > 0, sets spine.animation.TrackEntry.getDelay(). If <= 0, the delay set is the duration of the previous track entry
+ * minus any mix duration (from the spine.animation.AnimationStateData) plus the specified delay (ie the mix
+ * ends at (delay = 0) or before (delay < 0) the previous track entry duration). If the
+ * previous entry is looping, its next loop completion is used instead of its duration.
+ * @return A track entry to allow further customization of animation playback. References to the track entry must not be kept
+ * after the spine.animation.AnimationStateListener.dispose() event occurs.
+ */
public function addAnimation(trackIndex:Int, animation:Animation, loop:Bool, delay:Float):TrackEntry {
if (animation == null)
throw new SpineException("animation cannot be null.");
@@ -605,6 +710,23 @@ class AnimationState {
return entry;
}
+ /**
+ * Sets an empty animation for a track, discarding any queued animations, and sets the track entry's
+ * spine.animation.TrackEntry.getMixDuration(). An empty animation has no timelines and serves as a placeholder for mixing in or out.
+ *
+ * Mixing out is done by setting an empty animation with a mix duration using either spine.animation.AnimationState.setEmptyAnimation(),
+ * spine.animation.AnimationState.setEmptyAnimations(), or spine.animation.AnimationState.addEmptyAnimation(). Mixing to an empty animation causes
+ * the previous animation to be applied less and less over the mix duration. Properties keyed in the previous animation
+ * transition to the value from lower tracks or to the setup pose value if no lower tracks key the property. A mix duration of
+ * 0 still mixes out over one frame.
+ *
+ * Mixing in is done by first setting an empty animation, then adding an animation using
+ * spine.animation.AnimationState.addAnimation() with the desired delay (an empty animation has a duration of 0) and on
+ * the returned track entry, set the spine.animation.TrackEntry.setMixDuration(). Mixing from an empty animation causes the new
+ * animation to be applied more and more over the mix duration. Properties keyed in the new animation transition from the value
+ * from lower tracks or from the setup pose value if no lower tracks key the property to the value keyed in the new
+ * animation.
+ */
public function setEmptyAnimation(trackIndex:Int, mixDuration:Float):TrackEntry {
var entry:TrackEntry = setAnimation(trackIndex, emptyAnimation, false);
entry.mixDuration = mixDuration;
@@ -612,6 +734,19 @@ class AnimationState {
return entry;
}
+ /**
+ * Adds an empty animation to be played after the current or last queued animation for a track, and sets the track entry's
+ * spine.animation.TrackEntry.getMixDuration(). If the track is empty, it is equivalent to calling
+ * spine.animation.AnimationState.setEmptyAnimation().
+ *
+ * See spine.animation.AnimationState.setEmptyAnimation().
+ * @param delay If > 0, sets spine.animation.TrackEntry.getDelay(). If <= 0, the delay set is the duration of the previous track entry
+ * minus any mix duration plus the specified delay (ie the mix ends at (delay = 0) or
+ * before (delay < 0) the previous track entry duration). If the previous entry is looping, its next
+ * loop completion is used instead of its duration.
+ * @return A track entry to allow further customization of animation playback. References to the track entry must not be kept
+ * after the spine.animation.AnimationStateListener.dispose() event occurs.
+ */
public function addEmptyAnimation(trackIndex:Int, mixDuration:Float, delay:Float):TrackEntry {
var entry:TrackEntry = addAnimation(trackIndex, emptyAnimation, false, delay);
if (delay <= 0) entry.delay = Math.max(entry.delay + entry.mixDuration - mixDuration, 0);
@@ -620,6 +755,10 @@ class AnimationState {
return entry;
}
+ /**
+ * Sets an empty animation for every track, discarding any queued animations, and mixes to it over the specified mix
+ * duration.
+ */
public function setEmptyAnimations(mixDuration:Float):Void {
var oldDrainDisabled:Bool = queue.drainDisabled;
queue.drainDisabled = true;
@@ -675,7 +814,9 @@ class AnimationState {
return entry;
}
- /** Removes the {@link TrackEntry#getNext() next entry} and all entries after it for the specified entry. */
+ /**
+ * Removes the spine.animation.TrackEntry.getNext() next entry and all entries after it for the specified entry.
+ */
public function clearNext(entry:TrackEntry):Void {
var next:TrackEntry = entry.next;
while (next != null) {
@@ -757,6 +898,9 @@ class AnimationState {
}
}
+ /**
+ * Returns the track entry for the animation currently playing on the track, or null if no animation is currently playing.
+ */
public function getCurrent(trackIndex:Int):TrackEntry {
if (trackIndex >= tracks.length)
return null;
@@ -769,6 +913,9 @@ class AnimationState {
return onComplete.listeners.length > 0 || onEnd.listeners.length > 0;
}
+ /**
+ * Removes all listeners added with spine.animation.AnimationState.addListener().
+ */
public function clearListeners():Void {
onStart.listeners.resize(0);
onInterrupt.listeners.resize(0);
@@ -778,6 +925,11 @@ class AnimationState {
onEvent.listeners.resize(0);
}
+ /**
+ * Discards all listener notifications that have not yet been delivered. This can be useful to call from an
+ * spine.animation.AnimationStateListener when it is known that further notifications that may have been already queued for delivery
+ * are not wanted because new animations are being set.
+ */
public function clearListenerNotifications():Void {
queue.clear();
}
diff --git a/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx b/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx
index 1794858c3..956d2bb38 100644
--- a/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx
+++ b/spine-haxe/spine-haxe/spine/animation/AnimationStateData.hx
@@ -32,7 +32,7 @@ package spine.animation;
import haxe.ds.StringMap;
import spine.SkeletonData;
-/** Stores mix (crossfade) durations to be applied when {@link AnimationState} animations are changed. */
+/** Stores mix (crossfade) durations to be applied when spine.animation.AnimationState animations are changed. */
class AnimationStateData {
private var _skeletonData:SkeletonData;
private var animationToMixTime:StringMap
- * See {@link VertexAttachment#getTimelineAttachment()}. */
+ *
+ * @see spine.attachments.VertexAttachment.getTimelineAttachment() */
public var attachment:VertexAttachment;
/** The vertices for each frame. */
diff --git a/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx b/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx
index 0479bfe57..9b3d954ab 100644
--- a/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/DrawOrderTimeline.hx
@@ -35,7 +35,7 @@ import spine.Slot;
/** Changes a skeleton's {@link Skeleton#drawOrder}. */
class DrawOrderTimeline extends Timeline {
- /** The draw order for each frame. See {@link #setFrame(Int, Float, Array
- * TrackEntry events are collected during {@link AnimationState#update(float)} and {@link AnimationState#apply(Skeleton)} and
- * fired only after those methods are finished.
- *
- * See TrackEntry {@link TrackEntry#setListener(AnimationStateListener)} and AnimationState
- * {@link AnimationState#addListener(AnimationStateListener)}. */
+/**
+ * Manages a collection of listeners for TrackEntry events.
+ */
class Listeners {
private var _listeners:Array
- * TrackEntry events are collected during {@link AnimationState#update(float)} and {@link AnimationState#apply(Skeleton)} and
- * fired only after those methods are finished.
- *
- * See TrackEntry {@link TrackEntry#setListener(AnimationStateListener)} and AnimationState
- * {@link AnimationState#addListener(AnimationStateListener)}. */
+/**
+ * Manages a collection of event listeners for TrackEntry events.
+ */
class EventListeners {
private var _listeners:Array
- * Because this event is triggered at the end of {@link AnimationState#apply(Skeleton)}, any animations set in response to
+ * Because this event is triggered at the end of spine.animation.AnimationState.apply(Skeleton), any animations set in response to
* the event won't be applied until the next time the AnimationState is applied. */
public function invoke(entry:TrackEntry, event:Event) {
for (listener in _listeners) {
diff --git a/spine-haxe/spine-haxe/spine/animation/MixBlend.hx b/spine-haxe/spine-haxe/spine/animation/MixBlend.hx
index 0eba43214..562e55a66 100644
--- a/spine-haxe/spine-haxe/spine/animation/MixBlend.hx
+++ b/spine-haxe/spine-haxe/spine/animation/MixBlend.hx
@@ -32,7 +32,7 @@ package spine.animation;
/** Controls how timeline values are mixed with setup pose values or current pose values when a timeline is applied with
*
- * References to a track entry must not be kept after the {@link AnimationStateListener#dispose(TrackEntry)} event occurs. */
+ * References to a track entry must not be kept after the AnimationStateListener.dispose(TrackEntry) event occurs. */
class TrackEntry implements Poolable {
/** The animation to apply for this track entry. */
public var animation:Animation;
- /** The animation queued to start after this animation, or null if there is none.
- * See {@link AnimationState#clearNext(TrackEntry)} to truncate the list. */
+ * See spine.animation.AnimationState.clearNext(TrackEntry) to truncate the list. */
public var next:TrackEntry;
- /** The animation queued to play before this animation, or null.
- * See {@link AnimationState#getCurrent(int)}. */
+ * See spine.animation.AnimationState.getCurrent(int). */
public var trackIndex:Int = 0;
/** If true, the animation will repeat. If false it will not, instead its last frame is applied if played beyond its
* duration. */
@@ -71,58 +71,58 @@ class TrackEntry implements Poolable {
*
* When mixing between animations that key the same property, if a lower track also keys that property then the value will
* briefly dip toward the lower track value during the mix. This happens because the first animation mixes from 100% to 0%
- * while the second animation mixes from 0% to 100%. Setting
- * Snapping will occur if
- * When changing the
- * {@link #getTimeScale()} affects the delay.
+ * TrackEntry.getTimeScale() affects the delay.
*
- * When passing
- * It may be desired to use {@link AnimationState#addEmptyAnimation(int, float, float)} rather than have the animation
+ * It may be desired to use spine.animation.AnimationState.addEmptyAnimation(int, float, float) rather than have the animation
* abruptly cease being applied. */
public var trackEnd:Float = 0;
/** Multiplier for the delta time when this track entry is updated, causing time for this animation to pass slower or
* faster. Defaults to 1.
*
- * Values < 0 are not supported. To play an animation in reverse, use {@link #getReverse()}.
+ * Values < 0 are not supported. To play an animation in reverse, use TrackEntry.getReverse().
*
- * {@link #getMixTime()} is not affected by track entry time scale, so {@link #getMixDuration()} may need to be adjusted to
+ * TrackEntry.getMixTime() is not affected by track entry time scale, so TrackEntry.getMixDuration() may need to be adjusted to
* match the animation speed.
*
- * When using {@link AnimationState#addAnimation(int, Animation, boolean, float)} with a
- * See AnimationState {@link AnimationState#getTimeScale()} for affecting all animations. */
+ * See AnimationState spine.animation.AnimationState.getTimeScale() for affecting all animations. */
public var timeScale:Float = 0;
/** Values < 1 mix this animation with the skeleton's current pose (usually the pose resulting from lower tracks). Defaults
* to 1, which overwrites the skeleton's current pose with this animation.
@@ -155,34 +155,34 @@ class TrackEntry implements Poolable {
* Typically track 0 is used to completely pose the skeleton, then alpha is used on higher tracks. It doesn't make sense to
* use alpha on track 0 if the skeleton pose is from the last frame render. */
public var alpha:Float = 0;
- /** Seconds from 0 to the {@link #getMixDuration()} when mixing from the previous animation to this animation. May be
- * slightly more than
* A mix duration of 0 still mixes out over one frame to provide the track entry being mixed out a chance to revert the
* properties it was animating. A mix duration of 0 can be set at any time to end the mix on the next
- * {@link AnimationState#update(float) update}.
+ * spine.animation.AnimationState.update(float) update.
*
- * The
- * When using {@link AnimationState#addAnimation(int, Animation, boolean, float)} with a
- * Track entries on track 0 ignore this setting and always use {@link MixBlend#first}.
+ * Track entries on track 0 ignore this setting and always use spine.animation.MixBlend.first.
*
- * The
- * The
- * See {@link AnimationState#apply(Skeleton)}. */
+ * See spine.animation.AnimationState.apply(Skeleton). */
public function wasApplied() {
return nextTrackLast != -1;
}
- /** Returns true if there is a {@link #getNext()} track entry and it will become the current track entry during the next
- * {@link AnimationState#update(float)}. */
+ /** Returns true if there is a TrackEntry.getNext() track entry and it will become the current track entry during the next
+ * spine.animation.AnimationState.update(float). */
public function isNextReady():Bool {
return next != null && nextTrackLast - next.delay >= 0;
}
@@ -263,9 +263,9 @@ class TrackEntry implements Poolable {
}
/** Resets the rotation directions for mixing this entry's rotate timelines. This can be useful to avoid bones rotating the
- * long way around when using {@link #getAlpha()} and starting animations on other tracks.
+ * long way around when using TrackEntry.getAlpha() and starting animations on other tracks.
*
- * Mixing with {@link MixBlend#replace} involves finding a rotation between two others, which has two possible solutions:
+ * Mixing with spine.animation.MixBlend.replace involves finding a rotation between two others, which has two possible solutions:
* the short way or the long way around. The two rotations likely change over time, so which direction is the short or long
* way also changes. If the short way was always chosen, bones would flip to the other side when that direction became the
* long way. TrackEntry chooses the short way the first time it is applied and remembers that direction. */
@@ -273,10 +273,10 @@ class TrackEntry implements Poolable {
timelinesRotation.resize(0);
}
- /** Sets both {@link #getMixDuration()} and {@link #getDelay()}.
- * @param mixDuration If > 0, sets {@link TrackEntry#getDelay()}. If <= 0, the delay set is the duration of the previous track
- * entry minus the specified mix duration plus the specified
+ * See Loading skeleton data in the Spine
+ * Runtimes Guide.
+ */
class AtlasAttachmentLoader implements AttachmentLoader {
private var atlas:TextureAtlas;
@@ -53,6 +59,9 @@ class AtlasAttachmentLoader implements AttachmentLoader {
}
}
+ /**
+ * @return May be null to not load the attachment.
+ */
public function newRegionAttachment(skin:Skin, name:String, path:String, sequence:Sequence):RegionAttachment {
var attachment = new RegionAttachment(name, path);
if (sequence != null) {
@@ -66,6 +75,9 @@ class AtlasAttachmentLoader implements AttachmentLoader {
return attachment;
}
+ /**
+ * @return May be null to not load the attachment. In that case null should also be returned for child meshes.
+ */
public function newMeshAttachment(skin:Skin, name:String, path:String, sequence:Sequence):MeshAttachment {
var attachment = new MeshAttachment(name, path);
if (sequence != null) {
@@ -79,18 +91,30 @@ class AtlasAttachmentLoader implements AttachmentLoader {
return attachment;
}
+ /**
+ * @return May be null to not load the attachment.
+ */
public function newBoundingBoxAttachment(skin:Skin, name:String):BoundingBoxAttachment {
return new BoundingBoxAttachment(name);
}
+ /**
+ * @return May be null to not load the attachment.
+ */
public function newPathAttachment(skin:Skin, name:String):PathAttachment {
return new PathAttachment(name);
}
+ /**
+ * @return May be null to not load the attachment.
+ */
public function newPointAttachment(skin:Skin, name:String):PointAttachment {
return new PointAttachment(name);
}
+ /**
+ * @return May be null to not load the attachment.
+ */
public function newClippingAttachment(skin:Skin, name:String):ClippingAttachment {
return new ClippingAttachment(name);
}
diff --git a/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx b/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx
index 71e584aab..d6e5e50b4 100644
--- a/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx
+++ b/spine-haxe/spine-haxe/spine/attachments/MeshAttachment.hx
@@ -54,7 +54,7 @@ class MeshAttachment extends VertexAttachment implements HasTextureRegion {
public var height:Float = 0;
/** The number of entries at the beginning of {@link #vertices} that make up the mesh hull. */
public var hullLength:Int = 0;
- /** Vertex index pairs describing edges for controlling triangulation, or be null if nonessential data was not exported. Mesh
+ /** Vertex index pairs describing edges for controlling triangulation, or null if nonessential data was not exported. Mesh
* triangles will never cross edges. Triangulation is not performed at runtime. */
public var edges = new Array
* See World transforms in the Spine
* Runtimes Guide.
- * @param start The index of the first {@link #vertices} value to transform. Each vertex has 2 values, x and y.
- * @param count The number of world vertex values to output. Must be <= {@link #worldVerticesLength} - loop is
+ * this time and interpolate between the frame values. If beyond the duration and loop is
* true then the animation will repeat, else the last frame will be applied.
- * @param loop If true, the animation repeats after the {@link #getDuration()}.
+ * @param loop If true, the animation repeats after the duration.
* @param events If any events are fired, they are added to this list. Can be null to ignore fired events or if no timelines
* fire events.
- * @param alpha 0 applies the current or setup values (depending on blend). 1 applies the timeline values. Between
+ * @param alpha 0 applies the current or setup values (depending on blend). 1 applies the timeline values. Between
* 0 and 1 applies values between the current or setup values and the timeline values. By adjusting
- * alpha over time, an animation can be mixed in or out. alpha can also be useful to apply
+ * alpha over time, an animation can be mixed in or out. alpha can also be useful to apply
* animations on top of each other (layering).
- * @param blend Controls how mixing is applied when alpha < 1.
+ * @param blend Controls how mixing is applied when alpha < 1.
* @param direction Indicates whether the timelines are mixing in or out. Used by timelines which perform instant transitions,
- * such as {@link DrawOrderTimeline} or {@link AttachmentTimeline}. */
+ * such as DrawOrderTimeline or AttachmentTimeline. */
public function apply(skeleton:Skeleton, lastTime:Float, time:Float, loop:Bool, events:Array
+ * Result: Mix from the current pose to the timeline pose.
+ */
public static inline var SUBSEQUENT:Int = 0;
+ /**
+ * 1) This is the first timeline to set this property.
+ * 2) The next track entry applied after this one does not have a timeline to set this property.
+ * Result: Mix from the setup pose to the timeline pose.
+ */
public static inline var FIRST:Int = 1;
+ /**
+ * 1) A previously applied timeline has set this property.
+ * 2) The next track entry to be applied does have a timeline to set this property.
+ * 3) The next track entry after that one does not have a timeline to set this property.
+ * Result: Mix from the current pose to the timeline pose, but do not mix out. This avoids "dipping" when crossfading
+ * animations that key the same property. A subsequent timeline will set this property using a mix.
+ */
public static inline var HOLD_SUBSEQUENT:Int = 2;
+ /**
+ * 1) This is the first timeline to set this property.
+ * 2) The next track entry to be applied does have a timeline to set this property.
+ * 3) The next track entry after that one does not have a timeline to set this property.
+ * Result: Mix from the setup pose to the timeline pose, but do not mix out. This avoids "dipping" when crossfading animations
+ * that key the same property. A subsequent timeline will set this property using a mix.
+ */
public static inline var HOLD_FIRST:Int = 3;
+ /**
+ * 1) This is the first timeline to set this property.
+ * 2) The next track entry to be applied does have a timeline to set this property.
+ * 3) The next track entry after that one does have a timeline to set this property.
+ * 4) timelineHoldMix stores the first subsequent track entry that does not have a timeline to set this property.
+ * Result: The same as HOLD except the mix percentage from the timelineHoldMix track entry is used. This handles when more than
+ * 2 track entries in a row have a timeline that sets the same property.
+ * Eg, A -> B -> C -> D where A, B, and C have a timeline setting same property, but D does not. When A is applied, to avoid
+ * "dipping" A is not mixed out, however D (the first entry that doesn't set the property) mixing in is used to mix out A
+ * (which affects B and C). Without using D to mix out, A would be applied fully until mixing completes, then snap to the mixed
+ * out position.
+ */
public static inline var HOLD_MIX:Int = 4;
public static inline var SETUP:Int = 1;
public static inline var CURRENT:Int = 2;
@@ -67,6 +108,9 @@ class AnimationState {
private var unkeyedState:Int = 0;
+ /**
+ * Creates an uninitialized AnimationState. The animation state data must be set before use.
+ */
public function new(data:AnimationStateData) {
if (data == null)
throw new SpineException("data can not be null");
@@ -77,6 +121,9 @@ class AnimationState {
});
}
+ /**
+ * Increments each track entry spine.animation.TrackEntry.getTrackTime(), setting queued animations as current if needed.
+ */
public function update(delta:Float):Void {
delta *= timeScale;
for (i in 0...tracks.length) {
@@ -138,6 +185,9 @@ class AnimationState {
queue.drain();
}
+ /**
+ * Returns true when all mixing from entries are complete.
+ */
private function updateMixingFrom(to:TrackEntry, delta:Float):Bool {
var from:TrackEntry = to.mixingFrom;
if (from == null)
@@ -165,6 +215,11 @@ class AnimationState {
return false;
}
+ /**
+ * Poses the skeleton using the track entry animations. The animation state is not changed, so can be applied to multiple
+ * skeletons to pose them identically.
+ * @return True if any animations were applied.
+ */
public function apply(skeleton:Skeleton):Bool {
if (skeleton == null)
throw new SpineException("skeleton cannot be null.");
@@ -350,6 +405,12 @@ class AnimationState {
return mix;
}
+ /**
+ * Applies the attachment timeline and sets spine.Slot.attachmentState.
+ * @param attachments False when: 1) the attachment timeline is mixing out, 2) mix < attachmentThreshold, and 3) the timeline
+ * is not the last timeline to set the slot's attachment. In that case the timeline is applied only so subsequent
+ * timelines see any deform.
+ */
public function applyAttachmentTimeline(timeline:AttachmentTimeline, skeleton:Skeleton, time:Float, blend:MixBlend, attachments:Bool) {
var slot = skeleton.slots[timeline.slotIndex];
if (!slot.bone.active)
@@ -366,6 +427,10 @@ class AnimationState {
slot.attachmentState = this.unkeyedState + SETUP;
}
+ /**
+ * Applies the rotate timeline, mixing with the current pose while keeping the same rotation direction chosen as the shortest
+ * the first time the mixing was applied.
+ */
public function applyRotateTimeline(timeline:RotateTimeline, skeleton:Skeleton, time:Float, alpha:Float, blend:MixBlend, timelinesRotation:Arraytime.
+ * @param frameIndex The index into Timeline.getFrames() for the values of the frame before time.
* @param valueOffset The offset from frameIndex to the value this curve is used for.
- * @param i The index of the Bezier segments. See {@link #getCurveType}. */
+ * @param i The index of the Bezier segments. See CurveTimeline.getCurveType(). */
public function getBezierValue(time:Float, frameIndex:Int, valueOffset:Int, i:Int):Float {
var x:Float, y:Float;
if (curves[i] > time) {
diff --git a/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx b/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx
index 882b00cda..0c58fc591 100644
--- a/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx
+++ b/spine-haxe/spine-haxe/spine/animation/CurveTimeline1.hx
@@ -29,12 +29,13 @@
package spine.animation;
-/** The base class for a {@link CurveTimeline} that sets one property. */
+/** The base class for a spine.animation.CurveTimeline that sets one property. */
class CurveTimeline1 extends CurveTimeline {
private static inline var ENTRIES:Int = 2;
private static inline var VALUE:Int = 1;
- /** @param bezierCount The maximum number of Bezier curves. See {@link #shrink(Int)}.
+ /** @param frameCount The number of frames in the timeline.
+ * @param bezierCount The maximum number of Bezier curves. See spine.animation.CurveTimeline.shrink().
* @param propertyIds Unique identifiers for the properties the timeline modifies. */
public function new(frameCount:Int, bezierCount:Int, propertyIds:ArrayframeCount, inclusive.
* @param time The frame time in seconds.
- * @param drawOrder For each slot in {@link Skeleton#slots}, the index of the slot in the new draw order. May be null to use setup pose draw order. */
+ * @param drawOrder For each slot in spine.Skeleton.slots, the index of the slot in the new draw order. May be null to use setup pose draw order. */
public function setFrame(frame:Int, time:Float, drawOrder:ArrayframeCount, inclusive.
- * @param event The event to set for the frame. */
+ * @param frame Between 0 and frameCount, inclusive. */
public function setFrame(frame:Int, event:Event):Void {
frames[frame] = event.time;
events[frame] = event;
diff --git a/spine-haxe/spine-haxe/spine/animation/EventType.hx b/spine-haxe/spine-haxe/spine/animation/EventType.hx
index 48ea1163c..5629860db 100644
--- a/spine-haxe/spine-haxe/spine/animation/EventType.hx
+++ b/spine-haxe/spine-haxe/spine/animation/EventType.hx
@@ -29,9 +29,6 @@
package spine.animation;
-/**
- * Animation state event type.
- */
class EventType {
public static var start(default, never):EventType = new EventType();
public static var interrupt(default, never):EventType = new EventType();
diff --git a/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx b/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx
index 3a426ddc8..4a6ad1464 100644
--- a/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/IkConstraintTimeline.hx
@@ -33,8 +33,8 @@ import spine.Event;
import spine.IkConstraint;
import spine.Skeleton;
-/** Changes an IK constraint's {@link IkConstraint#mix}, {@link IkConstraint#softness},
- * {@link IkConstraint#bendDirection}, {@link IkConstraint#stretch}, and {@link IkConstraint#compress}. */
+/** Changes an IK constraint's spine.IkConstraint.mix, spine.IkConstraint.softness,
+ * spine.IkConstraint.bendDirection, spine.IkConstraint.stretch, and spine.IkConstraint.compress. */
class IkConstraintTimeline extends CurveTimeline {
private static inline var ENTRIES:Int = 6;
private static inline var MIX:Int = 1;
@@ -43,7 +43,7 @@ class IkConstraintTimeline extends CurveTimeline {
private static inline var COMPRESS:Int = 4;
private static inline var STRETCH:Int = 5;
- /** The index of the IK constraint in {@link Skeleton#ikConstraints} that will be changed when this timeline is
+ /** The index of the IK constraint in spine.Skeleton.ikConstraints that will be changed when this timeline is
* applied. */
public var constraintIndex:Int = 0;
@@ -59,11 +59,7 @@ class IkConstraintTimeline extends CurveTimeline {
/** Sets the time, mix, softness, bend direction, compress, and stretch for the specified frame.
* @param frame Between 0 and frameCount, inclusive.
* @param time The frame time in seconds.
- * @param mix The mix value.
- * @param softness The softness value.
- * @param bendDirection 1 or -1.
- * @param compress Whether to compress.
- * @param stretch Whether to stretch. */
+ * @param bendDirection 1 or -1. */
public function setFrame(frame:Int, time:Float, mix:Float, softness:Float, bendDirection:Int, compress:Bool, stretch:Bool):Void {
frame *= ENTRIES;
frames[frame] = time;
diff --git a/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx b/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx
index 68b9c08a2..b538f3c5d 100644
--- a/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/InheritTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's {@link Bone#getInherit()}. */
+/** Changes a bone's spine.Bone.inherit. */
class InheritTimeline extends Timeline implements BoneTimeline {
public static inline var ENTRIES:Int = 2;
private static inline var INHERIT:Int = 1;
@@ -53,10 +53,9 @@ class InheritTimeline extends Timeline implements BoneTimeline {
return boneIndex;
}
- /** Sets the inherit value for the specified frame.
+ /** Sets the transform mode for the specified frame.
* @param frame Between 0 and frameCount, inclusive.
- * @param time The frame time in seconds.
- * @param inherit The inherit value for this frame. */
+ * @param time The frame time in seconds. */
public function setFrame(frame:Int, time:Float, inherit: Inherit):Void {
frame *= ENTRIES;
frames[frame] = time;
diff --git a/spine-haxe/spine-haxe/spine/animation/Listeners.hx b/spine-haxe/spine-haxe/spine/animation/Listeners.hx
index 8832e1006..bc30e792e 100644
--- a/spine-haxe/spine-haxe/spine/animation/Listeners.hx
+++ b/spine-haxe/spine-haxe/spine/animation/Listeners.hx
@@ -29,14 +29,9 @@
package spine.animation;
-/** The interface to implement for receiving TrackEntry events. It is always safe to call AnimationState methods when receiving
- * events.
- * alpha < 1.
*
- * See Timeline {@link Timeline#apply(Skeleton, float, float, Array, float, MixBlend, MixDirection)}. */
+ * @see spine.animation.Timeline.apply() */
class MixBlend {
public var ordinal:Int = 0;
@@ -44,8 +44,8 @@ class MixBlend {
* setup value is set. */
public static var setup(default, never):MixBlend = new MixBlend(0);
/** Transitions from the current value to the timeline value. Before the first frame, transitions from the current value to
- * the setup value. Timelines which perform instant transitions, such as {@link DrawOrderTimeline} or
- * {@link AttachmentTimeline}, use the setup value before the first frame.
+ * the setup value. Timelines which perform instant transitions, such as spine.animation.DrawOrderTimeline or
+ * spine.animation.AttachmentTimeline, use the setup value before the first frame.
*
* first is intended for the first animations applied, not for animations layered on top of those. */
public static var first(default, never):MixBlend = new MixBlend(1);
diff --git a/spine-haxe/spine-haxe/spine/animation/MixDirection.hx b/spine-haxe/spine-haxe/spine/animation/MixDirection.hx
index 6a76efa0b..719a31d3d 100644
--- a/spine-haxe/spine-haxe/spine/animation/MixDirection.hx
+++ b/spine-haxe/spine-haxe/spine/animation/MixDirection.hx
@@ -31,8 +31,9 @@ package spine.animation;
/** Indicates whether a timeline's alpha is mixing out over time toward 0 (the setup or current pose value) or
* mixing in toward 1 (the timeline's value). Some timelines use this to decide how values are applied.
- *
- * See Timeline apply(Skeleton, float, float, Array, float, MixBlend, MixDirection). */
+ *
+ * @see spine.animation.Timeline.apply()
+ */
class MixDirection {
public var ordinal:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx
index 38f54af0f..37f7c01e5 100644
--- a/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PathConstraintMixTimeline.hx
@@ -33,15 +33,15 @@ import spine.Event;
import spine.PathConstraint;
import spine.Skeleton;
-/** Changes a path constraint's {@link PathConstraint#getMixRotate()}, {@link PathConstraint#getMixX()}, and
- * {@link PathConstraint#getMixY()}. */
+/** Changes a path constraint's PathConstraint.mixRotate, PathConstraint.mixX, and
+ * PathConstraint.mixY. */
class PathConstraintMixTimeline extends CurveTimeline {
private static inline var ENTRIES:Int = 4;
private static inline var ROTATE:Int = 1;
private static inline var X:Int = 2;
private static inline var Y:Int = 3;
- /** The index of the path constraint in {@link Skeleton#getPathConstraints()} that will be changed when this timeline is
+ /** The index of the path constraint in spine.Skeleton.pathConstraints that will be changed when this timeline is
* applied. */
public var constraintIndex:Int = 0;
@@ -54,7 +54,7 @@ class PathConstraintMixTimeline extends CurveTimeline {
return ENTRIES;
}
- /** Sets the time and mix values for the specified frame.
+ /** Sets the time and color for the specified frame.
* @param frame Between 0 and frameCount, inclusive.
* @param time The frame time in seconds. */
public function setFrame(frame:Int, time:Float, mixRotate:Float, mixX:Float, mixY:Float):Void {
diff --git a/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx
index d4b96f10e..946471881 100644
--- a/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PathConstraintPositionTimeline.hx
@@ -33,9 +33,9 @@ import spine.Event;
import spine.PathConstraint;
import spine.Skeleton;
-/** Changes a path constraint's {@link PathConstraint#position}. */
+/** Changes a path constraint's spine.PathConstraint.position. */
class PathConstraintPositionTimeline extends CurveTimeline1 {
- /** The index of the path constraint in {@link Skeleton#pathConstraints} that will be changed when this timeline is
+ /** The index of the path constraint in spine.Skeleton.pathConstraints that will be changed when this timeline is
* applied. */
public var constraintIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx
index 399b0cbda..1e34e71d1 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintDampingTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a physics constraint's {@link PhysicsConstraint#getDamping()}. */
+/** Changes a physics constraint's spine.PhysicsConstraint.damping. */
class PhysicsConstraintDampingTimeline extends PhysicsConstraintTimeline {
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) {
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintDamping);
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx
index 544540603..ed3b737ff 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintGravityTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a physics constraint's {@link PhysicsConstraint#getGravity()}. */
+/** Changes a physics constraint's spine.PhysicsConstraint.gravity. */
class PhysicsConstraintGravityTimeline extends PhysicsConstraintTimeline {
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) {
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintGravity);
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx
index fcfa2db6b..6c88d4d39 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintInertiaTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a physics constraint's {@link PhysicsConstraint#getInertia()}. */
+/** Changes a physics constraint's spine.PhysicsConstraint.inertia. */
class PhysicsConstraintInertiaTimeline extends PhysicsConstraintTimeline {
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) {
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintInertia);
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx
index ce2f41bbd..f6a6ddbdd 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMassTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a physics constraint's {@link PhysicsConstraint#getMassInverse()}. The timeline values are not inverted. */
+/** Changes a physics constraint's spine.PhysicsConstraint.massInverse. The timeline values are not inverted. */
class PhysicsConstraintMassTimeline extends PhysicsConstraintTimeline {
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) {
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintMass);
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx
index 1cd15081b..8c68b16fd 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintMixTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a physics constraint's {@link PhysicsConstraint#getMix()}. */
+/** Changes a physics constraint's spine.PhysicsConstraint.mix. */
class PhysicsConstraintMixTimeline extends PhysicsConstraintTimeline {
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) {
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintMix);
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx
index 542769933..2e2a2d9f6 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintStrengthTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a physics constraint's {@link PhysicsConstraint#getStrength()}. */
+/** Changes a physics constraint's spine.PhysicsConstraint.strength. */
class PhysicsConstraintStrengthTimeline extends PhysicsConstraintTimeline {
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) {
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintStrength);
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx
index 660f84275..c49731c90 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintTimeline.hx
@@ -33,13 +33,15 @@ import spine.Event;
import spine.PathConstraint;
import spine.Skeleton;
-/** The base class for most {@link PhysicsConstraint} timelines. */
+/** The base class for most spine.PhysicsConstraint timelines. */
abstract class PhysicsConstraintTimeline extends CurveTimeline1 {
- /** The index of the physics constraint in {@link Skeleton#getPhysicsConstraints()} that will be changed when this timeline
+ /** The index of the physics constraint in Skeleton.physicsConstraints that will be changed when this timeline
* is applied, or -1 if all physics constraints in the skeleton will be changed. */
public var constraintIndex:Int = 0;
- /** @param physicsConstraintIndex -1 for all physics constraints in the skeleton. */
+ /**
+ * @param physicsConstraintIndex -1 for all physics constraints in the skeleton.
+ */
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int, property:Int) {
super(frameCount, bezierCount, [property + "|" + physicsConstraintIndex]);
constraintIndex = physicsConstraintIndex;
diff --git a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx
index 083b7a611..5687610aa 100644
--- a/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/PhysicsConstraintWindTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a physics constraint's {@link PhysicsConstraint#getWind()}. */
+/** Changes a physics constraint's spine.PhysicsConstraint.wind. */
class PhysicsConstraintWindTimeline extends PhysicsConstraintTimeline {
public function new(frameCount:Int, bezierCount:Int, physicsConstraintIndex:Int) {
super(frameCount, bezierCount, physicsConstraintIndex, Property.physicsConstraintWind);
diff --git a/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx b/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx
index d1b9885a7..2427e2e2f 100644
--- a/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/RGB2Timeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes the RGB for a slot's {@link Slot#getColor()} and {@link Slot#getDarkColor()} for two color tinting. */
+/** Changes the RGB for a slot's spine.Slot.color and spine.Slot.darkColor for two color tinting. */
class RGB2Timeline extends CurveTimeline implements SlotTimeline {
private static inline var ENTRIES:Int = 7;
private static inline var R:Int = 1;
@@ -50,21 +50,15 @@ class RGB2Timeline extends CurveTimeline implements SlotTimeline {
return ENTRIES;
}
- /** The index of the slot in {@link Skeleton#getSlots()} that will be changed when this timeline is applied. The
- * {@link Slot#getDarkColor()} must not be null. */
+ /** The index of the slot in spine.Skeleton.slots that will be changed when this timeline is applied. The
+ * spine.Slot.darkColor must not be null. */
public function getSlotIndex():Int {
return slotIndex;
}
/** Sets the time, light color, and dark color for the specified frame.
* @param frame Between 0 and frameCount, inclusive.
- * @param time The frame time in seconds.
- * @param r Red component for the light color (0-1).
- * @param g Green component for the light color (0-1).
- * @param b Blue component for the light color (0-1).
- * @param r2 Red component for the dark color (0-1).
- * @param g2 Green component for the dark color (0-1).
- * @param b2 Blue component for the dark color (0-1). */
+ * @param time The frame time in seconds. */
public function setFrame(frame:Int, time:Float, r:Float, g:Float, b:Float, r2:Float, g2:Float, b2:Float):Void {
frame *= ENTRIES;
frames[frame] = time;
diff --git a/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx b/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx
index 115670830..783f36c6d 100644
--- a/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/RGBA2Timeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a slot's {@link Slot#getColor()} and {@link Slot#getDarkColor()} for two color tinting. */
+/** Changes a slot's spine.Slot.getColor() and spine.Slot.getDarkColor() for two color tinting. */
class RGBA2Timeline extends CurveTimeline implements SlotTimeline {
private static inline var ENTRIES:Int = 8;
private static inline var R:Int = 1;
@@ -55,8 +55,8 @@ class RGBA2Timeline extends CurveTimeline implements SlotTimeline {
return ENTRIES;
}
- /** The index of the slot in {@link Skeleton#getSlots()} that will be changed when this timeline is applied. The
- * {@link Slot#getDarkColor()} must not be null. */
+ /** The index of the slot in spine.Skeleton.getSlots() that will be changed when this timeline is applied. The
+ * spine.Slot.getDarkColor() must not be null. */
public function getSlotIndex():Int {
return slotIndex;
}
diff --git a/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx b/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx
index 413d0bc72..2fceeda15 100644
--- a/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/RGBATimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes a slot's {@link Slot#getColor()}. */
+/** Changes a slot's spine.Slot.color. */
class RGBATimeline extends CurveTimeline implements SlotTimeline {
private static inline var ENTRIES:Int = 5;
private static inline var R:Int = 1;
@@ -53,12 +53,8 @@ class RGBATimeline extends CurveTimeline implements SlotTimeline {
}
/** Sets the time and color for the specified frame.
- * @param frame Between 0 and frameCount, inclusive.
- * @param time The frame time in seconds.
- * @param r The red component.
- * @param g The green component.
- * @param b The blue component.
- * @param a The alpha component. */
+ * @param frame Between 0 and frameCount, inclusive.
+ * @param time The frame time in seconds. */
public function setFrame(frame:Int, time:Float, r:Float, g:Float, b:Float, a:Float):Void {
frame *= ENTRIES;
frames[frame] = time;
diff --git a/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx b/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx
index 6dc8b01c4..3a7785f7a 100644
--- a/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/RGBTimeline.hx
@@ -29,7 +29,7 @@
package spine.animation;
-/** Changes the RGB for a slot's {@link Slot#getColor()}. */
+/** Changes the RGB for a slot's spine.Slot.color. */
class RGBTimeline extends CurveTimeline implements SlotTimeline {
private static inline var ENTRIES:Int = 4;
private static inline var R:Int = 1;
diff --git a/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx b/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx
index 06aebf04f..4b80fe87f 100644
--- a/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/RotateTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#rotation}. */
+/** Changes a bone's local rotation. */
class RotateTimeline extends CurveTimeline1 implements BoneTimeline {
public var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx
index de011141a..5f75ad9cd 100644
--- a/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/ScaleTimeline.hx
@@ -34,7 +34,7 @@ import spine.Event;
import spine.MathUtils;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#scaleX} and {@link Bone#scaleY}. */
+/** Changes a bone's local spine.Bone.scaleX and spine.Bone.scaleY. */
class ScaleTimeline extends CurveTimeline2 implements BoneTimeline {
private var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx
index f411dda05..4d5e6d9ea 100644
--- a/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/ScaleXTimeline.hx
@@ -34,7 +34,7 @@ import spine.Event;
import spine.MathUtils;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#scaleX}. */
+/** Changes a bone's local spine.Bone.scaleX. */
class ScaleXTimeline extends CurveTimeline1 implements BoneTimeline {
private var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx
index 0636fdcaf..a84a34816 100644
--- a/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/ScaleYTimeline.hx
@@ -34,7 +34,7 @@ import spine.Event;
import spine.MathUtils;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#scaleY}. */
+/** Changes a bone's local spine.Bone.scaleY. */
class ScaleYTimeline extends CurveTimeline1 implements BoneTimeline {
private var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx b/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx
index 158802a41..ede2cbb09 100644
--- a/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/SequenceTimeline.hx
@@ -63,10 +63,7 @@ class SequenceTimeline extends Timeline implements SlotTimeline {
/** Sets the time, mode, index, and frame time for the specified frame.
* @param frame Between 0 and frameCount, inclusive.
- * @param time Seconds between frames.
- * @param mode The sequence mode.
- * @param index The sequence index.
- * @param delay The delay between frames. */
+ * @param time Seconds between frames. */
public function setFrame(frame:Int, time:Float, mode:SequenceMode, index:Int, delay:Float) {
frame *= SequenceTimeline.ENTRIES;
frames[frame] = time;
diff --git a/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx
index 60f0fc8ee..d6a3f7d14 100644
--- a/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/ShearTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#shearX} and {@link Bone#shearY}. */
+/** Changes a bone's local spine.Bone.shearX and spine.Bone.shearY. */
class ShearTimeline extends CurveTimeline2 implements BoneTimeline {
private var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx
index f056a29bf..68a04f8fe 100644
--- a/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/ShearXTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#shearX}. */
+/** Changes a bone's local spine.Bone.shearX. */
class ShearXTimeline extends CurveTimeline1 implements BoneTimeline {
private var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx b/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx
index b44ee5716..61eda0f71 100644
--- a/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/ShearYTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#shearY}. */
+/** Changes a bone's local Bone.shearY. */
class ShearYTimeline extends CurveTimeline1 implements BoneTimeline {
private var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx b/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx
index 8fe08bd27..be257ad84 100644
--- a/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/SlotTimeline.hx
@@ -31,6 +31,6 @@ package spine.animation;
/** An interface for timelines which change the property of a slot. */
interface SlotTimeline {
- /** The index of the slot in {@link Skeleton#getSlots()} that will be changed when this timeline is applied. */
+ /** The index of the slot in spine.Skeleton.getSlots() that will be changed when this timeline is applied. */
function getSlotIndex():Int;
}
diff --git a/spine-haxe/spine-haxe/spine/animation/Timeline.hx b/spine-haxe/spine-haxe/spine/animation/Timeline.hx
index daa3b4629..885375910 100644
--- a/spine-haxe/spine-haxe/spine/animation/Timeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/Timeline.hx
@@ -41,7 +41,6 @@ class Timeline {
/**
* @param propertyIds Unique identifiers for the properties the timeline modifies.
- * @param frameCount The number of frames for this timeline.
*/
public function new(frameCount:Int, propertyIds:ArraylastTime (exclusive) and time (inclusive). Pass -1 the first time an animation is
* applied to ensure frame 0 is triggered.
@@ -82,7 +81,7 @@ class Timeline {
* apply animations on top of each other (layering).
* @param blend Controls how mixing is applied when alpha < 1.
* @param direction Indicates whether the timeline is mixing in or out. Used by timelines which perform instant transitions,
- * such as {@link DrawOrderTimeline} or {@link AttachmentTimeline}, and others such as {@link ScaleTimeline}.
+ * such as spine.animation.DrawOrderTimeline or spine.animation.AttachmentTimeline, and others such as spine.animation.ScaleTimeline.
*/
public function apply(skeleton:Skeleton, lastTime:Float, time:Float, events:Arraynext makes up a doubly linked
+ /** The animation queued to start after this animation, or null if there is none. next makes up a doubly linked
* list.
* previous makes up a doubly linked list. */
+ /** The animation queued to play before this animation, or null. previous makes up a doubly linked list. */
public var previous:TrackEntry;
/** The track entry for the previous animation when mixing from the previous animation to this animation, or null if no
- * mixing is currently occurring. When mixing from multiple animations, mixingFrom makes up a linked list. */
+ * mixing is currently occurring. When mixing from multiple animations, mixingFrom makes up a linked list. */
public var mixingFrom:TrackEntry;
/** The track entry for the next animation when mixing from this animation to the next animation, or null if no mixing is
- * currently occurring. When mixing to multiple animations, mixingTo makes up a linked list. */
+ * currently occurring. When mixing to multiple animations, mixingTo makes up a linked list. */
public var mixingTo:TrackEntry;
public var onStart:Listeners = new Listeners();
public var onInterrupt:Listeners = new Listeners();
@@ -59,7 +59,7 @@ class TrackEntry implements Poolable {
public var onEvent:EventListeners = new EventListeners();
/** The index of the track where this track entry is either current or queued.
* holdPrevious to true applies the first animation
+ * while the second animation mixes from 0% to 100%. Setting holdPrevious to true applies the first animation
* at 100% during the mix so the lower track value is overwritten. Such dipping does not occur on the lowest track which
* keys the property, only when a higher track also keys the property.
* holdPrevious is true and this animation does not key all the same properties as the
+ * Snapping will occur if holdPrevious is true and this animation does not key all the same properties as the
* previous animation. */
public var holdPrevious:Bool = false;
- /** When the mix percentage ({@link #getMixTime()} / {@link #getMixDuration()}) is less than the
- * eventThreshold, event timelines are applied while this animation is being mixed out. Defaults to 0, so event
+ /** When the mix percentage (TrackEntry.getMixTime() / TrackEntry.getMixDuration()) is less than the
+ * eventThreshold, event timelines are applied while this animation is being mixed out. Defaults to 0, so event
* timelines are not applied while this animation is being mixed out. */
public var eventThreshold:Float = 0;
- /** When the mix percentage ({@link #getMixTime()} / {@link #getMixDuration()}) is less than the
- * mixAttachmentThreshold, attachment timelines are applied while this animation is being mixed out. Defaults
+ /** When the mix percentage (TrackEntry.getMixTime() / TrackEntry.getMixDuration()) is less than the
+ * mixAttachmentThreshold, attachment timelines are applied while this animation is being mixed out. Defaults
* to 0, so attachment timelines are not applied while this animation is being mixed out. */
public var mixAttachmentThreshold:Float = 0;
- /** When {@link #getAlpha()} is greater than alphaAttachmentThreshold, attachment timelines are applied.
+ /** When TrackEntry.getAlpha() is greater than alphaAttachmentThreshold, attachment timelines are applied.
* Defaults to 0, so attachment timelines are always applied. */
public var alphaAttachmentThreshold:Float = 0;
- /** When the mix percentage ({@link #getMixTime()} / {@link #getMixDuration()}) is less than the
- * mixDrawOrderThreshold, draw order timelines are applied while this animation is being mixed out. Defaults to
+ /** When the mix percentage (TrackEntry.getMixTime() / TrackEntry.getMixDuration()) is less than the
+ * mixDrawOrderThreshold, draw order timelines are applied while this animation is being mixed out. Defaults to
* 0, so draw order timelines are not applied while this animation is being mixed out. */
public var mixDrawOrderThreshold:Float = 0;
/** Seconds when this animation starts, both initially and after looping. Defaults to 0.
* animationStart time, it often makes sense to set {@link #getAnimationLast()} to the same
+ * When changing the animationStart time, it often makes sense to set TrackEntry.getAnimationLast() to the same
* value to prevent timeline keys before the start time from triggering. */
public var animationStart:Float = 0;
/** Seconds for the last frame of this animation. Non-looping animations won't play past this time. Looping animations will
- * loop back to {@link #getAnimationStart()} at this time. Defaults to the animation {@link Animation#duration}. */
+ * loop back to TrackEntry.getAnimationStart() at this time. Defaults to the animation spine.animation.Animation.duration. */
public var animationEnd:Float = 0;
/** The time in seconds this animation was last applied. Some timelines use this for one-time triggers. Eg, when this
- * animation is applied, event timelines will fire all events between the animationLast time (exclusive) and
- * animationTime (inclusive). Defaults to -1 to ensure triggers on frame 0 happen the first time this animation
+ * animation is applied, event timelines will fire all events between the animationLast time (exclusive) and
+ * animationTime (inclusive). Defaults to -1 to ensure triggers on frame 0 happen the first time this animation
* is applied. */
public var animationLast:Float = 0;
public var nextAnimationLast:Float = 0;
/** Seconds to postpone playing the animation. Must be >= 0. When this track entry is the current track entry,
- * delay postpones incrementing the {@link #getTrackTime()}. When this track entry is queued,
- * delay is the time from the start of the previous animation to when this track entry will become the current
- * track entry (ie when the previous track entry {@link TrackEntry#getTrackTime()} >= this track entry's
- * delay).
+ * delay postpones incrementing the TrackEntry.getTrackTime(). When this track entry is queued,
+ * delay is the time from the start of the previous animation to when this track entry will become the current
+ * track entry (ie when the previous track entry TrackEntry.getTrackTime() >= this track entry's
+ * delay).
* delay <= 0 to {@link AnimationState#addAnimation(int, Animation, boolean, float)} this
- * delay is set using a mix duration from {@link AnimationStateData}. To change the {@link #getMixDuration()}
- * afterward, use {@link #setMixDuration(float, float)} so this delay is adjusted. */
+ * When passing delay <= 0 to spine.animation.AnimationState.addAnimation(int, Animation, boolean, float) this
+ * delay is set using a mix duration from spine.animation.AnimationStateData. To change the TrackEntry.getMixDuration()
+ * afterward, use TrackEntry.setMixDuration(float, float) so this delay is adjusted. */
public var delay(default, set):Float = 0;
/** Current time in seconds this track entry has been the current track entry. The track time determines
- * {@link #getAnimationTime()}. The track time can be set to start the animation at a time other than 0, without affecting
+ * TrackEntry.getAnimationTime(). The track time can be set to start the animation at a time other than 0, without affecting
* looping. */
public var trackTime:Float = 0;
public var trackLast:Float = 0;
@@ -132,22 +132,22 @@ class TrackEntry implements Poolable {
* is reached, no other animations are queued for playback, and mixing from any previous animations is complete, then the
* properties keyed by the animation are set to the setup pose and the track is cleared.
* delay <= 0, the
- * {@link #getDelay()} is set using the mix duration from the {@link AnimationStateData}, assuming time scale to be 1. If
+ * When using spine.animation.AnimationState.addAnimation(int, Animation, boolean, float) with a delay <= 0, the
+ * TrackEntry.getDelay() is set using the mix duration from the spine.animation.AnimationStateData, assuming time scale to be 1. If
* the time scale is not 1, the delay may need to be adjusted.
* mixDuration when the mix is complete. */
+ /** Seconds from 0 to the TrackEntry.getMixDuration() when mixing from the previous animation to this animation. May be
+ * slightly more than mixDuration when the mix is complete. */
public var mixTime:Float = 0;
/** Seconds for mixing from the previous animation to this animation. Defaults to the value provided by AnimationStateData
- * {@link AnimationStateData#getMix(Animation, Animation)} based on the animation before this animation (if any).
+ * spine.animation.AnimationStateData.getMix(Animation, Animation) based on the animation before this animation (if any).
* mixDuration can be set manually rather than use the value from
- * {@link AnimationStateData#getMix(Animation, Animation)}. In that case, the mixDuration can be set for a new
- * track entry only before {@link AnimationState#update(float)} is first called.
+ * The mixDuration can be set manually rather than use the value from
+ * spine.animation.AnimationStateData.getMix(Animation, Animation). In that case, the mixDuration can be set for a new
+ * track entry only before spine.animation.AnimationState.update(float) is first called.
* delay <= 0, the
- * {@link #getDelay()} is set using the mix duration from the {@link AnimationStateData}. If mixDuration is set
+ * When using spine.animation.AnimationState.addAnimation(int, Animation, boolean, float) with a delay <= 0, the
+ * TrackEntry.getDelay() is set using the mix duration from the spine.animation.AnimationStateData. If mixDuration is set
* afterward, the delay may need to be adjusted. For example:
- * entry.delay = entry.previous.getTrackComplete() - entry.mixDuration;
- * Alternatively, {@link #setMixDuration(float, float)} can be used to recompute the delay:
- * entry.setMixDuration(0.25f, 0); */
+ * entry.delay = entry.previous.getTrackComplete() - entry.mixDuration;
+ * Alternatively, TrackEntry.setMixDuration(float, float) can be used to recompute the delay:
+ * entry.setMixDuration(0.25f, 0); */
public var mixDuration:Float = 0;
public var interruptAlpha:Float = 0;
public var totalAlpha:Float = 0;
- /** Controls how properties keyed in the animation are mixed with lower tracks. Defaults to {@link MixBlend#replace}.
+ /** Controls how properties keyed in the animation are mixed with lower tracks. Defaults to spine.animation.MixBlend.replace.
* mixBlend can be set for a new track entry only before {@link AnimationState#apply(Skeleton)} is first
+ * The mixBlend can be set for a new track entry only before spine.animation.AnimationState.apply(Skeleton) is first
* called. */
public var mixBlend:MixBlend = MixBlend.replace;
public var timelineMode:ArrayanimationTime. When the trackTime is 0, the
- * animationTime is equal to the animationStart time.
+ /** Uses TrackEntry.getTrackTime() to compute the animationTime. When the trackTime is 0, the
+ * animationTime is equal to the animationStart time.
* animationTime is between {@link #getAnimationStart()} and {@link #getAnimationEnd()}, except if this
- * track entry is non-looping and {@link #getAnimationEnd()} is >= to the animation {@link Animation#duration}, then
- * animationTime continues to increase past {@link #getAnimationEnd()}. */
+ * The animationTime is between TrackEntry.getAnimationStart() and TrackEntry.getAnimationEnd(), except if this
+ * track entry is non-looping and TrackEntry.getAnimationEnd() is >= to the animation spine.animation.Animation.duration, then
+ * animationTime continues to increase past TrackEntry.getAnimationEnd(). */
public function getAnimationTime():Float {
if (loop) {
var duration:Float = animationEnd - animationStart;
@@ -218,9 +218,9 @@ class TrackEntry implements Poolable {
return Math.min(trackTime + animationStart, animationEnd);
}
- /** If this track entry is non-looping, the track time in seconds when {@link #getAnimationEnd()} is reached, or the current
- * {@link #getTrackTime()} if it has already been reached. If this track entry is looping, the track time when this
- * animation will reach its next {@link #getAnimationEnd()} (the next loop completion). */
+ /** If this track entry is non-looping, the track time in seconds when TrackEntry.getAnimationEnd() is reached, or the current
+ * TrackEntry.getTrackTime() if it has already been reached. If this track entry is looping, the track time when this
+ * animation will reach its next TrackEntry.getAnimationEnd() (the next loop completion). */
public function getTrackComplete():Float {
var duration:Float = animationEnd - animationStart;
if (duration != 0) {
@@ -234,13 +234,13 @@ class TrackEntry implements Poolable {
/** Returns true if this track entry has been applied at least once.
* delay (ie the mix ends at
- * (delay = 0) or before (delay < 0) the previous track entry duration). If the previous
+ /** Sets both TrackEntry.getMixDuration() and TrackEntry.getDelay().
+ * @param mixDuration If > 0, sets TrackEntry.getDelay(). If <= 0, the delay set is the duration of the previous track
+ * entry minus the specified mix duration plus the specified delay (ie the mix ends at
+ * (delay = 0) or before (delay < 0) the previous track entry duration). If the previous
* entry is looping, its next loop completion is used instead of its duration. */
public function setMixDurationWithDelay(mixDuration:Float):Float {
this.mixDuration = mixDuration;
diff --git a/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx
index c67874f48..5d52d4383 100644
--- a/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/TransformConstraintTimeline.hx
@@ -34,9 +34,9 @@ import spine.Skeleton;
import spine.TransformConstraint;
import spine.TransformConstraintData;
-/** Changes a transform constraint's {@link TransformConstraint#mixRotate}, {@link TransformConstraint#mixX},
- * {@link TransformConstraint#mixY}, {@link TransformConstraint#mixScaleX},
- * {@link TransformConstraint#mixScaleY}, and {@link TransformConstraint#mixShearY}. */
+/** Changes a transform constraint's spine.TransformConstraint.mixRotate, spine.TransformConstraint.mixX,
+ * spine.TransformConstraint.mixY, spine.TransformConstraint.mixScaleX,
+ * spine.TransformConstraint.mixScaleY, and spine.TransformConstraint.mixShearY. */
class TransformConstraintTimeline extends CurveTimeline {
static public inline var ENTRIES:Int = 7;
private static inline var ROTATE:Int = 1;
@@ -46,7 +46,7 @@ class TransformConstraintTimeline extends CurveTimeline {
private static inline var SCALEY:Int = 5;
private static inline var SHEARY:Int = 6;
- /** The index of the transform constraint in {@link Skeleton#transformConstraints} that will be changed when this
+ /** The index of the transform constraint in spine.Skeleton.transformConstraints that will be changed when this
* timeline is applied. */
public var constraintIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx
index 0202ae943..f703b0d14 100644
--- a/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/TranslateTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#x} and {@link Bone#y}. */
+/** Changes a bone's local spine.Bone.x and spine.Bone.y. */
class TranslateTimeline extends CurveTimeline2 implements BoneTimeline {
public var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx
index cc43a29fb..b0f779625 100644
--- a/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/TranslateXTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's local x value. */
+/** Changes a bone's local spine.Bone.x. */
class TranslateXTimeline extends CurveTimeline1 implements BoneTimeline {
public var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx b/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx
index 0ade5456c..4785d019e 100644
--- a/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx
+++ b/spine-haxe/spine-haxe/spine/animation/TranslateYTimeline.hx
@@ -33,7 +33,7 @@ import spine.Bone;
import spine.Event;
import spine.Skeleton;
-/** Changes a bone's local {@link Bone#y}. */
+/** Changes a bone's local y translation. */
class TranslateYTimeline extends CurveTimeline1 implements BoneTimeline {
public var boneIndex:Int = 0;
diff --git a/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx b/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx
index 05b3595a9..a5ae7bcf7 100644
--- a/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx
+++ b/spine-haxe/spine-haxe/spine/attachments/AtlasAttachmentLoader.hx
@@ -32,6 +32,12 @@ package spine.attachments;
import spine.atlas.TextureAtlas;
import spine.Skin;
+/**
+ * The interface which can be implemented to customize creating and populating attachments.
+ * x,y values that is the local position of the vertex.
*
- * See {@link #updateRegion()}. */
+ * See RegionAttachment.updateRegion(). */
private var offsets:Arrayoffset + 8.
* @param offset The worldVertices index to begin writing values.
* @param stride The number of worldVertices entries between the value pairs written. */
diff --git a/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx b/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx
index 723e6a6dd..647ba86aa 100644
--- a/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx
+++ b/spine-haxe/spine-haxe/spine/attachments/VertexAttachment.hx
@@ -34,20 +34,20 @@ import spine.Skeleton;
import spine.Slot;
/** Base class for an attachment with vertices that are transformed by one or more bones and can be deformed by a slot's
- * {@link Slot#deform}. */
+ * spine.Slot.deform. */
class VertexAttachment extends Attachment {
private static var nextID:Int = 0;
- /** The bones which affect the {@link vertices}. The array entries are, for each vertex, the number of bones affecting
- * the vertex followed by that many bone indices, which is the index of the bone in {@link Skeleton#bones}. Will be null
+ /** The bones which affect the vertices. The array entries are, for each vertex, the number of bones affecting
+ * the vertex followed by that many bone indices, which is the index of the bone in spine.Skeleton.bones. Will be null
* if this attachment has no weights. */
public var bones:Arrayx,y
- * entries for each vertex. For a weighted attachment, the values are x,y,weight entries for each bone affecting
+ /** The vertex positions in the bone's coordinate system. For a non-weighted attachment, the values are `x,y`
+ * entries for each vertex. For a weighted attachment, the values are `x,y,weight` entries for each bone affecting
* each vertex. */
public var vertices = new Arraycount parameter. */
+ * computeWorldVertices() using the `count` parameter. */
public var worldVerticesLength:Int = 0;
/** Returns a unique ID for this attachment. */
public var id:Int = nextID++;
@@ -60,17 +60,17 @@ class VertexAttachment extends Attachment {
timelineAttachment = this;
}
- /** Transforms the attachment's local {@link #vertices} to world coordinates. If the slot's {@link Slot#deform} is
+ /** Transforms the attachment's local vertices to world coordinates. If the slot's spine.Slot.deform is
* not empty, it is used to deform the vertices.
* start.
- * @param worldVertices The output world vertices. Must have a length >= offset + count *
- * stride / 2.
- * @param offset The worldVertices index to begin writing values.
- * @param stride The number of worldVertices entries between the value pairs written. */
+ * @param start The index of the first vertices value to transform. Each vertex has 2 values, x and y.
+ * @param count The number of world vertex values to output. Must be <= worldVerticesLength - `start`.
+ * @param worldVertices The output world vertices. Must have a length >= `offset` + `count` *
+ * `stride` / 2.
+ * @param offset The `worldVertices` index to begin writing values.
+ * @param stride The number of `worldVertices` entries between the value pairs written. */
public function computeWorldVertices(slot:Slot, start:Int, count:Int, worldVertices:Array