From 8c335d3df1b2c8161ffa1f5b0e109b44ed1276cb Mon Sep 17 00:00:00 2001 From: Reece Como Date: Tue, 23 Apr 2024 14:55:36 +1000 Subject: [PATCH 1/3] updates to initializer stubs --- .eslintrc | 1 + README.md | 91 +++++++++++++++---------- dist/Action.d.ts | 61 ++++++----------- dist/Action.js | 120 ++++++++++++++------------------ dist/Action.js.map | 2 +- package.json | 2 +- src/Action.ts | 147 ++++++++++++++++++++++------------------ src/test/Action.test.ts | 67 +++++++++++++----- 8 files changed, 264 insertions(+), 227 deletions(-) diff --git a/.eslintrc b/.eslintrc index 225d086..cb49f18 100644 --- a/.eslintrc +++ b/.eslintrc @@ -10,6 +10,7 @@ "@typescript-eslint/no-empty-interface": 0, "@typescript-eslint/no-non-null-assertion": 0, "@typescript-eslint/no-empty-function": 0, + "@typescript-eslint/unified-signatures": 0, "@typescript-eslint/indent": 0, "@typescript-eslint/no-extra-semi": 0, "@typescript-eslint/explicit-member-accessibility": 1, diff --git a/README.md b/README.md index 2a2d274..d708ce3 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,13 @@ A PixiJS implementation of [Apple's SKActions](https://developer.apple.com/docum ## Installation -`npm install pixijs-actions` +```sh +# npm +npm install pixijs-actions -`yarn add pixijs-actions` +# yarn +yarn add pixijs-actions +``` ## Getting started with Actions @@ -26,15 +30,16 @@ You tell nodes to run an instace of `Action` when you want to animate contents o ## Basic usage -```ts -import { Action } from 'pixijs-actions'; +*Create reusable animations & actions, run them on display objects.* -const fadeOutAndRemove = Action.sequence([ - Action.fadeOut(1.0), - Action.removeFromParent() +```ts +const razzleDazzle = Action.sequence([ + Action.fadeIn(0.3), + Action.rotateByDegrees(360, 0.3).easeInOut(), ]); -sprite.run(fadeOutAndRemove); +// ✨ Show mySprite with some flair! +mySprite.run(razzleDazzle); ``` ## Setup @@ -71,20 +76,36 @@ Now you are ready to start using actions! ## Action Initializers -*Use these functions to create actions.* +*Combine these initializers to create complex animations.* Most actions implement specific predefined animations that are ready to use. If your animation needs fall outside of the suite provided here, then you should implement a custom action. See **Creating Custom Actions** below. ```ts -const razzleDazzle = Action.sequence([ - Action.unhide(), - Action.fadeIn(0.3), - Action.scaleTo(2, 0.3).easeIn(), - Action.scaleTo(1, 0.3).easeOut(), +import { Action } from 'pixijs-actions'; + +// ✨ Expand and contract smoothly over 2 seconds. +const pulsate = Action.sequence([ + Action.scaleTo(1.5, 1.0).easeOut(), + Action.scaleTo(1, 1.0).easeIn() ]); -// ✨ Show mySprite with some flair! -mySprite.run(razzleDazzle); +// ✨ Follow a complex path (e.g. a bezier curve). +const path = [ + { x: 0, y: 0 }, + { x: 100, y: 0 }, + { x: 100, y: 100 }, + { x: 200, y: 200 } +]; +const followPath = Action.follow(path, 5.0); + +// ✨ Create a 10 second loop. +const moveBackAndForthWhilePulsating = Action.group([ + Action.repeat(pulsate, 5), + Action.sequence([followPath, followPath.reversed()]), +]); + +// ✨ Animate continuously. +mySprite.run(Action.repeatForever(moveBackAndForthWhilePulsating)); ``` | Action | Description | Reversible? | @@ -95,12 +116,12 @@ mySprite.run(razzleDazzle); | `Action.repeat(action, count)` | Repeat an action a specified number of times. | Yes | | `Action.repeatForever(action)` | Repeat an action indefinitely. | Yes | |***Animating a Node's Position in a Linear Path***||| -| `Action.moveBy(dx, dy, duration)` | Move a node by a relative amount. | Yes | -| `Action.moveByVector(vector, duration)` | Move a node by a relative vector (e.g. `PIXI.Point`). | Yes | -| `Action.moveByX(dx, duration)` | Move a node horizontally by a relative amount. | Yes | -| `Action.moveByY(dy, duration)` | Move a node vertically by a relative amount. | Yes | +| `Action.moveBy(vector, duration)` | Move a node by a relative vector `{ x, y }` (e.g. `PIXI.Point`). | Yes | +| `Action.moveBy(dx, dy, duration)` | Move a node by relative values. | Yes | +| `Action.moveByX(dx, duration)` | Move a node horizontally by a relative value. | Yes | +| `Action.moveByY(dy, duration)` | Move a node vertically by a relative value. | Yes | +| `Action.moveTo(position, duration)` | Move a node to a specified position `{ x, y }` (e.g. `PIXI.Point`, `PIXI.DisplayObject`). | _*No_ | | `Action.moveTo(x, y, duration)` | Move a node to a specified position. | _*No_ | -| `Action.moveToPoint(point, duration)` | Move a node to a specified position (e.g. `PIXI.Point`). | _*No_ | | `Action.moveToX(x, duration)` | Move a node to a specified horizontal position. | _*No_ | | `Action.moveToY(y, duration)` | Move a node to a specified vertical position. | _*No_ | |***Animating a Node's Position Along a Custom Path***||| @@ -112,14 +133,14 @@ mySprite.run(razzleDazzle); | `Action.rotateTo(radians, duration)` | Rotate a node to a specified value (in radians). | _*No_ | | `Action.rotateToDegrees(degrees, duration)` | Rotate a node to a specified value (in degrees). | _*No_ | |***Animating the Scaling of a Node***||| -| `Action.scaleBy(delta, duration)` | Scale a node by a relative value. | Yes | -| `Action.scaleBy(dx, dy, duration)` | Scale a node by a relative value. | Yes | -| `Action.scaleByVector(vector, duration)` | Scale a node by a given vector (e.g. `PIXI.Point`). | Yes | +| `Action.scaleBy(vector, duration)` | Scale a node by a relative vector `{ x, y }` (e.g. `PIXI.Point`). | Yes | +| `Action.scaleBy(scale, duration)` | Scale a node by a relative value. | Yes | +| `Action.scaleBy(dx, dy, duration)` | Scale a node in each axis by relative values. | Yes | | `Action.scaleByX(dx, duration)` | Scale a node horizontally by a relative value. | Yes | | `Action.scaleByY(dy, duration)` | Scale a node vertically by a relative value. | Yes | +| `Action.scaleTo(size, duration)` | Scale a node to achieve a specified size `{ width, height }` (e.g. `PIXI.ISize`, `PIXI.DisplayObject`). | _*No_ | | `Action.scaleTo(scale, duration)` | Scale a node to a specified value. | _*No_ | -| `Action.scaleTo(x, y, duration)` | Scale a node to a specified value. | _*No_ | -| `Action.scaleToSize(vector, duration)` | Scale a node to a specified size (e.g. `PIXI.Point`). | _*No_ | +| `Action.scaleTo(x, y, duration)` | Scale a node in each axis to specified values. | _*No_ | | `Action.scaleToX(x, duration)` | Scale a node horizontally to a specified value. | _*No_ | | `Action.scaleToY(y, duration)` | Scale a node vertically to a specified value. | _*No_ | |***Animating the Transparency of a Node***||| @@ -128,15 +149,15 @@ mySprite.run(razzleDazzle); | `Action.fadeAlphaBy(delta, duration)` | Fade the alpha by a relative value. | Yes | | `Action.fadeAlphaTo(alpha, duration)` | Fade the alpha to a specified value. | _*No_ | |***Controlling Node Visibility***||| -| `Action.unhide()` | Instant. Set a node's `visible` property to `true`. | Yes | -| `Action.hide()` | Instant. Set a node's `visible` property to `false`. | Yes | +| `Action.unhide()` | Set a node's `visible` property to `true`. | Yes | +| `Action.hide()` | Set a node's `visible` property to `false`. | Yes | |***Removing a Node from the Canvas***||| -| `Action.removeFromParent()` | Instant. Remove a node from its parent. | _†Identical_ | +| `Action.removeFromParent()` | Remove a node from its parent. | _†Identical_ | |***Delaying Actions***||| | `Action.waitForDuration(duration)` | Idle for a specified period of time. | _†Identical_ | | `Action.waitForDurationWithRange(duration, range)` | Idle for a randomized period of time. | _†Identical_ | |***Triggers and Custom Actions***||| -| `Action.run(callback)` | Instant. Execute a block. | _†Identical_ | +| `Action.run(callback)` | Execute a block (i.e. trigger another action). | _†Identical_ | | `Action.customAction(duration, stepHandler)` | Execute a custom stepping function over the action duration. | _†Identical_ | |***Controlling the Node's Action Speed***||| | `Action.speedBy(delta, duration)` | Change how fast a node executes its actions by a relative value. | Yes | @@ -249,18 +270,18 @@ mySprite.run(MyActions.squashAndStretch(1.25)); mySprite.run(MyActions.squashAndStretch(2.0)); ``` -## Using Actions with display objects +## Running Actions on DisplayObjects *Running actions in your canvas.* ```ts -// Hide me instantly. +// Hide me instantly! mySprite.run(Action.hide(), () => { console.log('where did I go?'); }); ``` -Display objects are extended with a few new methods and properties. +Display objects are extended with a few new methods and properties to make it easy to interact with actions. | Property | Description | | :----- | :------ | @@ -273,10 +294,10 @@ Display objects are extended with a few new methods and properties. | `run(action, completion)` | Run an action with a completion handler. | | `runWithKey(action, withKey)` | Run an action, and store it so it can be retrieved later. | | `runAsPromise(action): Promise` | Run an action as a promise. | -| `action(forKey): Action \| undefined` | Return an action associated with a specific key. | +| `action(forKey): Action \| undefined` | Return an action associated with a specified key. | | `hasActions(): boolean` | Return a boolean indicating whether the node is executing actions. | | `removeAllActions(): void` | End and removes all actions from the node. | -| `removeAction(forKey): void` | Remove an action associated with a specific key. | +| `removeAction(forKey): void` | Remove an action associated with a specified key. | ### Running actions diff --git a/dist/Action.d.ts b/dist/Action.d.ts index c4662d9..4d9e0f6 100644 --- a/dist/Action.d.ts +++ b/dist/Action.d.ts @@ -4,11 +4,16 @@ import { TimingModeFn } from './TimingMode'; type TimeInterval = number; /** Targeted display node. */ type TargetNode = PIXI.DisplayObject; -/** Any two dimensional vector. */ +/** A vector (e.g. PIXI.Point, or any node). */ interface VectorLike { x: number; y: number; } +/** Any object with a width and height. */ +interface SizeLike { + width: number; + height: number; +} /** Any object containing an array of points. */ interface PathLike { points: VectorLike[]; @@ -125,13 +130,8 @@ export declare abstract class Action { * * This action is reversible. */ - static moveBy(x: number, y: number, duration: TimeInterval): Action; - /** - * Creates an action that moves a node relative to its current position. - * - * This action is reversible. - */ - static moveByVector(vec: VectorLike, duration: TimeInterval): Action; + static moveBy(delta: VectorLike, duration: TimeInterval): Action; + static moveBy(dx: number, dy: number, duration: TimeInterval): Action; /** * Creates an action that moves a node horizontally relative to its current position. * @@ -150,14 +150,8 @@ export declare abstract class Action { * This action is not reversible; the reverse of this action has the same duration but does not * move the node. */ + static moveTo(position: VectorLike, duration: TimeInterval): Action; static moveTo(x: number, y: number, duration: TimeInterval): Action; - /** - * Creates an action that moves a node to a new position. - * - * This action is not reversible; the reverse of this action has the same duration but does not - * move the node. - */ - static moveToPoint(point: VectorLike, duration: TimeInterval): Action; /** * Creates an action that moves a node horizontally. * @@ -180,11 +174,11 @@ export declare abstract class Action { * * @param path A path to follow, or an object containing an array of points called `points`. * @param duration The duration of the animation. - * @param asOffset When true, the path is relative to the node's current position. - * @param orientToPath When true, the node’s rotation turns to follow the path. - * @param fixedSpeed When true, the node's speed is consistent across different length segments. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. + * @param fixedSpeed (Default: true) When true, the node's speed is consistent for each segment. */ - static follow(path: VectorLike[] | PathLike, duration: number, asOffset?: boolean, orientToPath?: boolean, fixedSpeed?: boolean): Action; + static follow(path: PathLike | VectorLike[], duration: number, asOffset?: boolean, orientToPath?: boolean, fixedSpeed?: boolean): Action; /** * Creates an action that moves the node along a path at a specified speed, optionally orienting * the node to the path. @@ -193,11 +187,11 @@ export declare abstract class Action { * with the same speed. * * @param path A path to follow. - * @param speed The velocity at which the node should move in world units per second. - * @param asOffset When true, the path is relative to the node's current position. - * @param orientToPath If true, the node’s rotation turns to follow the path. + * @param speed The velocity at which the node should move, in world units per second. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. */ - static followAtSpeed(path: VectorLike[] | PathLike, speed: number, asOffset?: boolean, orientToPath?: boolean): Action; + static followAtSpeed(path: PathLike | VectorLike[], speed: number, asOffset?: boolean, orientToPath?: boolean): Action; /** * Creates an action that rotates the node by a relative value (in radians). * @@ -242,14 +236,9 @@ export declare abstract class Action { * * This action is reversible. */ - static scaleBy(value: number, duration: TimeInterval): Action; - static scaleBy(x: number, y: number, duration: TimeInterval): Action; - /** - * Creates an action that changes the x and y scale values of a node by a relative value. - * - * This action is reversible. - */ - static scaleByVector(vector: VectorLike, duration: TimeInterval): Action; + static scaleBy(scale: number, duration: TimeInterval): Action; + static scaleBy(size: VectorLike, duration: TimeInterval): Action; + static scaleBy(dx: number, dy: number, duration: TimeInterval): Action; /** * Creates an action that changes the x scale of a node by a relative value. * @@ -268,15 +257,9 @@ export declare abstract class Action { * This action is not reversible; the reverse of this action has the same duration but does not * change anything. */ - static scaleTo(value: number, duration: TimeInterval): Action; + static scaleTo(scale: number, duration: TimeInterval): Action; + static scaleTo(size: SizeLike, duration: TimeInterval): Action; static scaleTo(x: number, y: number, duration: TimeInterval): Action; - /** - * Creates an action that changes the x and y scale values of a node. - * - * This action is not reversible; the reverse of this action has the same duration but does not - * change anything. - */ - static scaleToSize(size: VectorLike, duration: TimeInterval): Action; /** * Creates an action that changes the y scale values of a node. * diff --git a/dist/Action.js b/dist/Action.js index 81abd61..e6bc0e7 100644 --- a/dist/Action.js +++ b/dist/Action.js @@ -99,24 +99,10 @@ export class Action { static waitForDurationWithRange(average, rangeSize) { return new DelayAction(average + (rangeSize * Math.random() - rangeSize * 0.5)); } - // - // ----------------- Linear Path Actions: ----------------- - // - /** - * Creates an action that moves a node relative to its current position. - * - * This action is reversible. - */ - static moveBy(x, y, duration) { - return new MoveByAction(x, y, duration); - } - /** - * Creates an action that moves a node relative to its current position. - * - * This action is reversible. - */ - static moveByVector(vec, duration) { - return Action.moveBy(vec.x, vec.y, duration); + static moveBy(a, b, c) { + return typeof a === 'number' + ? new MoveByAction(a, b, c) + : new MoveByAction(a.x, a.y, b); } /** * Creates an action that moves a node horizontally relative to its current position. @@ -134,23 +120,10 @@ export class Action { static moveByY(y, duration) { return Action.moveBy(0, y, duration); } - /** - * Creates an action that moves a node to a new position. - * - * This action is not reversible; the reverse of this action has the same duration but does not - * move the node. - */ - static moveTo(x, y, duration) { - return new MoveToAction(x, y, duration); - } - /** - * Creates an action that moves a node to a new position. - * - * This action is not reversible; the reverse of this action has the same duration but does not - * move the node. - */ - static moveToPoint(point, duration) { - return Action.moveTo(point.x, point.y, duration); + static moveTo(a, b, c) { + return typeof a === 'number' + ? new MoveToAction(a, b, c) + : new MoveToAction(a.x, a.y, b); } /** * Creates an action that moves a node horizontally. @@ -181,9 +154,9 @@ export class Action { * * @param path A path to follow, or an object containing an array of points called `points`. * @param duration The duration of the animation. - * @param asOffset When true, the path is relative to the node's current position. - * @param orientToPath When true, the node’s rotation turns to follow the path. - * @param fixedSpeed When true, the node's speed is consistent across different length segments. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. + * @param fixedSpeed (Default: true) When true, the node's speed is consistent for each segment. */ static follow(path, duration, asOffset = true, orientToPath = true, fixedSpeed = true) { const _path = FollowPathAction.getPath(path); @@ -197,9 +170,9 @@ export class Action { * with the same speed. * * @param path A path to follow. - * @param speed The velocity at which the node should move in world units per second. - * @param asOffset When true, the path is relative to the node's current position. - * @param orientToPath If true, the node’s rotation turns to follow the path. + * @param speed The velocity at which the node should move, in world units per second. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. */ static followAtSpeed(path, speed, asOffset = true, orientToPath = true) { const _path = FollowPathAction.getPath(path); @@ -263,18 +236,12 @@ export class Action { static speedTo(speed, duration) { return new SpeedToAction(speed, duration); } - static scaleBy(x, y, duration) { - return duration === undefined - ? new ScaleByAction(x, x, y) - : new ScaleByAction(x, y, duration); - } - /** - * Creates an action that changes the x and y scale values of a node by a relative value. - * - * This action is reversible. - */ - static scaleByVector(vector, duration) { - return Action.scaleBy(vector.x, vector.y, duration); + static scaleBy(a, b, c) { + return typeof a === 'number' + ? c === undefined + ? new ScaleByAction(a, a, b) + : new ScaleByAction(a, b, c) + : new ScaleByAction(a.x, a.y, b); } /** * Creates an action that changes the x scale of a node by a relative value. @@ -292,19 +259,12 @@ export class Action { static scaleByY(y, duration) { return Action.scaleBy(0.0, y, duration); } - static scaleTo(x, y, duration) { - return duration === undefined - ? new ScaleToAction(x, x, y) - : new ScaleToAction(x, y, duration); - } - /** - * Creates an action that changes the x and y scale values of a node. - * - * This action is not reversible; the reverse of this action has the same duration but does not - * change anything. - */ - static scaleToSize(size, duration) { - return Action.scaleTo(size.x, size.y, duration); + static scaleTo(a, b, c) { + return typeof a === 'number' + ? c === undefined + ? new ScaleToAction(a, a, b) + : new ScaleToAction(a, b, c) + : new ScaleToSizeAction(a.width, a.height, b); } /** * Creates an action that changes the y scale values of a node. @@ -652,11 +612,35 @@ class RepeatForeverAction extends Action { } } } +class ScaleToSizeAction extends Action { + constructor(width, height, duration) { + super(duration); + this.width = width; + this.height = height; + } + _setupTicker(target) { + if (target.width === undefined) { + throw new Error('Action can only be run against a target with a width & height.'); + } + return { + sW: target.width, + sH: target.height, + }; + } + updateAction(target, progress, progressDelta, ticker) { + target.width = ticker.data.sW + (this.width - ticker.data.sW) * progress; + target.height = ticker.data.sH + (this.height - ticker.data.sH) * progress; + } + reversed() { + return new DelayAction(this.scaledDuration); + } +} class ScaleToAction extends Action { - constructor(x, y, duration) { + constructor(x, y, duration, asSize = false) { super(duration); this.x = x; this.y = y; + this.asSize = asSize; } _setupTicker(target, ticker) { return { @@ -1180,7 +1164,7 @@ export function registerGlobalMixin(displayObject) { // eslint-disable-next-line @typescript-eslint/no-this-alias const node = this; return new Promise(function (resolve, reject) { - const timeLimitMs = timeoutBufferMs + (node.speed * action.duration * 1000); + const timeLimitMs = timeoutBufferMs + (getSpeed(node) * action.duration * 1000); const timeoutCheck = setTimeout(() => reject('Took too long to complete.'), timeLimitMs); node.run(action, () => { clearTimeout(timeoutCheck); diff --git a/dist/Action.js.map b/dist/Action.js.map index 8e05e4b..7e3d9f3 100644 --- a/dist/Action.js.map +++ b/dist/Action.js.map @@ -1 +1 @@ -{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Action.js","sourceRoot":"","sources":["../src/Action.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 0d7d59f..f1dc3ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pixijs-actions", - "version": "1.0.0", + "version": "1.0.1", "author": "Reece Como ", "authors": [ "Reece Como ", diff --git a/src/Action.ts b/src/Action.ts index 1c11908..a58491e 100644 --- a/src/Action.ts +++ b/src/Action.ts @@ -14,12 +14,21 @@ type TimeInterval = number; /** Targeted display node. */ type TargetNode = PIXI.DisplayObject; -/** Any two dimensional vector. */ +/** Targeted display node that has a width/height. */ +type SizedTargetNode = TargetNode & SizeLike; + +/** A vector (e.g. PIXI.Point, or any node). */ interface VectorLike { x: number; y: number; } +/** Any object with a width and height. */ +interface SizeLike { + width: number; + height: number; +} + /** Any object containing an array of points. */ interface PathLike { points: VectorLike[]; @@ -173,17 +182,12 @@ export abstract class Action { * * This action is reversible. */ - public static moveBy(x: number, y: number, duration: TimeInterval): Action { - return new MoveByAction(x, y, duration); - } - - /** - * Creates an action that moves a node relative to its current position. - * - * This action is reversible. - */ - public static moveByVector(vec: VectorLike, duration: TimeInterval): Action { - return Action.moveBy(vec.x, vec.y, duration); + public static moveBy(delta: VectorLike, duration: TimeInterval): Action; + public static moveBy(dx: number, dy: number, duration: TimeInterval): Action; + public static moveBy(a: number | VectorLike, b: number | TimeInterval, c?: TimeInterval): Action { + return typeof a === 'number' + ? new MoveByAction(a, b, c) + : new MoveByAction(a.x, a.y, b); } /** @@ -210,18 +214,12 @@ export abstract class Action { * This action is not reversible; the reverse of this action has the same duration but does not * move the node. */ - public static moveTo(x: number, y: number, duration: TimeInterval): Action { - return new MoveToAction(x, y, duration); - } - - /** - * Creates an action that moves a node to a new position. - * - * This action is not reversible; the reverse of this action has the same duration but does not - * move the node. - */ - public static moveToPoint(point: VectorLike, duration: TimeInterval): Action { - return Action.moveTo(point.x, point.y, duration); + public static moveTo(position: VectorLike, duration: TimeInterval): Action; + public static moveTo(x: number, y: number, duration: TimeInterval): Action; + public static moveTo(a: number | VectorLike, b: number | TimeInterval, c?: TimeInterval): Action { + return typeof a === 'number' + ? new MoveToAction(a, b, c) + : new MoveToAction(a.x, a.y, b); } /** @@ -256,12 +254,12 @@ export abstract class Action { * * @param path A path to follow, or an object containing an array of points called `points`. * @param duration The duration of the animation. - * @param asOffset When true, the path is relative to the node's current position. - * @param orientToPath When true, the node’s rotation turns to follow the path. - * @param fixedSpeed When true, the node's speed is consistent across different length segments. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. + * @param fixedSpeed (Default: true) When true, the node's speed is consistent for each segment. */ public static follow( - path: VectorLike[] | PathLike, + path: PathLike | VectorLike[], duration: number, asOffset: boolean = true, orientToPath: boolean = true, @@ -279,19 +277,18 @@ export abstract class Action { * with the same speed. * * @param path A path to follow. - * @param speed The velocity at which the node should move in world units per second. - * @param asOffset When true, the path is relative to the node's current position. - * @param orientToPath If true, the node’s rotation turns to follow the path. + * @param speed The velocity at which the node should move, in world units per second. + * @param asOffset (Default: true) When true, the path is relative to the node's current position. + * @param orientToPath (Default: true) When true, the node’s rotation turns to follow the path. */ public static followAtSpeed( - path: VectorLike[] | PathLike, + path: PathLike | VectorLike[], speed: number, asOffset: boolean = true, orientToPath: boolean = true, ): Action { const _path = FollowPathAction.getPath(path); const _length = FollowPathAction.getLength(_path); - return new FollowPathAction(_path, _length[0] / speed, asOffset, orientToPath, true); } @@ -370,21 +367,15 @@ export abstract class Action { * * This action is reversible. */ - public static scaleBy(value: number, duration: TimeInterval): Action; - public static scaleBy(x: number, y: number, duration: TimeInterval): Action; - public static scaleBy(x: number, y: number | TimeInterval, duration?: TimeInterval): Action { - return duration === undefined - ? new ScaleByAction(x, x, y) - : new ScaleByAction(x, y, duration); - } - - /** - * Creates an action that changes the x and y scale values of a node by a relative value. - * - * This action is reversible. - */ - public static scaleByVector(vector: VectorLike, duration: TimeInterval): Action { - return Action.scaleBy(vector.x, vector.y, duration); + public static scaleBy(scale: number, duration: TimeInterval): Action; + public static scaleBy(size: VectorLike, duration: TimeInterval): Action; + public static scaleBy(dx: number, dy: number, duration: TimeInterval): Action; + public static scaleBy(a: number | VectorLike, b: number | TimeInterval, c?: TimeInterval): Action { + return typeof a === 'number' + ? c === undefined + ? new ScaleByAction(a, a, b) + : new ScaleByAction(a, b, c) + : new ScaleByAction(a.x, a.y, b); } /** @@ -411,22 +402,15 @@ export abstract class Action { * This action is not reversible; the reverse of this action has the same duration but does not * change anything. */ - public static scaleTo(value: number, duration: TimeInterval): Action; + public static scaleTo(scale: number, duration: TimeInterval): Action; + public static scaleTo(size: SizeLike, duration: TimeInterval): Action; public static scaleTo(x: number, y: number, duration: TimeInterval): Action; - public static scaleTo(x: number, y: number | TimeInterval, duration?: TimeInterval): Action { - return duration === undefined - ? new ScaleToAction(x, x, y) - : new ScaleToAction(x, y, duration); - } - - /** - * Creates an action that changes the x and y scale values of a node. - * - * This action is not reversible; the reverse of this action has the same duration but does not - * change anything. - */ - public static scaleToSize(size: VectorLike, duration: TimeInterval): Action { - return Action.scaleTo(size.x, size.y, duration); + public static scaleTo(a: number | SizeLike, b: number | TimeInterval, c?: TimeInterval): Action { + return typeof a === 'number' + ? c === undefined + ? new ScaleToAction(a, a, b) + : new ScaleToAction(a, b, c) + : new ScaleToSizeAction(a.width, a.height, b); } /** @@ -841,11 +825,42 @@ class RepeatForeverAction extends Action { } } +class ScaleToSizeAction extends Action { + public constructor( + protected readonly width: number, + protected readonly height: number, + duration: TimeInterval, + ) { + super(duration); + } + + protected _setupTicker(target: SizedTargetNode): any { + if (target.width === undefined) { + throw new Error('Action can only be run against a target with a width & height.'); + } + + return { + sW: target.width, + sH: target.height, + }; + } + + public updateAction(target: SizedTargetNode, progress: number, progressDelta: number, ticker: ActionTicker): void { + target.width = ticker.data.sW + (this.width - ticker.data.sW) * progress; + target.height = ticker.data.sH + (this.height - ticker.data.sH) * progress; + } + + public reversed(): Action { + return new DelayAction(this.scaledDuration); + } +} + class ScaleToAction extends Action { public constructor( protected readonly x: number | undefined, protected readonly y: number | undefined, duration: TimeInterval, + protected asSize: boolean = false, ) { super(duration); } @@ -1012,8 +1027,8 @@ class FollowPathAction extends Action { public constructor( path: VectorLike[], duration: number, - protected readonly asOffset: boolean, - protected readonly orientToPath: boolean, + protected readonly asOffset: boolean, + protected readonly orientToPath: boolean, protected readonly fixedSpeed: boolean, ) { super(duration); @@ -1586,7 +1601,7 @@ export function registerGlobalMixin(displayObject: any): void { // eslint-disable-next-line @typescript-eslint/no-this-alias const node = this; return new Promise(function (resolve, reject) { - const timeLimitMs = timeoutBufferMs + (node.speed * action.duration * 1_000); + const timeLimitMs = timeoutBufferMs + (getSpeed(node) * action.duration * 1_000); const timeoutCheck = setTimeout(() => reject('Took too long to complete.'), timeLimitMs); node.run(action, () => { clearTimeout(timeoutCheck); diff --git a/src/test/Action.test.ts b/src/test/Action.test.ts index 156525c..43135aa 100644 --- a/src/test/Action.test.ts +++ b/src/test/Action.test.ts @@ -1,4 +1,4 @@ -import { Container } from 'pixi.js'; +import { Container, Sprite } from 'pixi.js'; import { Action } from '../index'; function simulateTime(seconds: number, steps: number = 100): void { @@ -130,51 +130,84 @@ describe('Action Chaining', () => { }); describe('Action', () => { - describe('scaleTo', () => { - it('can be initialized with one value', () => { + describe('scaleTo()', () => { + it('can be initialized with (x, y, duration)', () => { + const node = new Container(); + expect(node.scale.x).toBe(1); // Sanity check. + expect(node.scale.y).toBe(1); + + node.run(Action.scaleTo(2, 1.5, 1.0)); + simulateTime(1.0); + expect(node.scale.x).toBeCloseTo(2); + expect(node.scale.y).toBeCloseTo(1.5); + }); + + it('can be initialized with (scale, duration)', () => { const node = new Container(); expect(node.scale.x).toBe(1); // Sanity check. expect(node.scale.y).toBe(1); node.run(Action.scaleTo(2, 1.0)); simulateTime(1.0); - expect(node.scale.x).toBe(2); - expect(node.scale.y).toBe(2); + expect(node.scale.x).toBeCloseTo(2); + expect(node.scale.y).toBeCloseTo(2); + }); + + it('can be initialized with ({ width, height }, duration)', () => { + const node = new Sprite(); + expect(node.scale.x).toBe(1); // Sanity check. + expect(node.scale.y).toBe(1); + + node.run(Action.scaleTo({ width: 2, height: 1.5 }, 1.0)); + simulateTime(1.0); + expect(node.scale.x).toBeCloseTo(2); + expect(node.scale.y).toBeCloseTo(1.5); + + const otherNode = new Sprite(); + otherNode.width = 50; + otherNode.height = 120; + + node.run(Action.scaleTo(otherNode, 1.0)); + simulateTime(1.0); + expect(node.width).toBeCloseTo(50); + expect(node.height).toBeCloseTo(120); + expect(node.scale.x).toBeCloseTo(50); + expect(node.scale.y).toBeCloseTo(120); }); + }); - it('can be initialized with x and y', () => { + describe('scaleBy()', () => { + it('can be initialized with (x, y, duration)', () => { const node = new Container(); expect(node.scale.x).toBe(1); // Sanity check. expect(node.scale.y).toBe(1); node.run(Action.scaleTo(2, 1.5, 1.0)); simulateTime(1.0); - expect(node.scale.x).toBe(2); - expect(node.scale.y).toBe(1.5); + expect(node.scale.x).toBeCloseTo(2); + expect(node.scale.y).toBeCloseTo(1.5); }); - }); - describe('scaleBy', () => { - it('can be initialized with one value', () => { + it('can be initialized with (delta, duration)', () => { const node = new Container(); expect(node.scale.x).toBe(1); // Sanity check. expect(node.scale.y).toBe(1); node.run(Action.scaleBy(2, 1.0)); simulateTime(1.0); - expect(node.scale.x).toBe(2); - expect(node.scale.y).toBe(2); + expect(node.scale.x).toBeCloseTo(2); + expect(node.scale.y).toBeCloseTo(2); }); - it('can be initialized with x and y', () => { + it('can be initialized with ({ x, y }, duration)', () => { const node = new Container(); expect(node.scale.x).toBe(1); // Sanity check. expect(node.scale.y).toBe(1); - node.run(Action.scaleTo(2, 1.5, 1.0)); + node.run(Action.scaleBy({ x: 2, y: 1.5 }, 1.0)); simulateTime(1.0); - expect(node.scale.x).toBe(2); - expect(node.scale.y).toBe(1.5); + expect(node.scale.x).toBeCloseTo(2); + expect(node.scale.y).toBeCloseTo(1.5); }); }); }); From e9466bca1b6c3c64e9235482bc76a49509c02a76 Mon Sep 17 00:00:00 2001 From: Reece Como Date: Tue, 23 Apr 2024 14:56:30 +1000 Subject: [PATCH 2/3] bump 1.1.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f1dc3ed..c34ddb4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pixijs-actions", - "version": "1.0.1", + "version": "1.1.0", "author": "Reece Como ", "authors": [ "Reece Como ", From 5dd1caf916eb92a8d24b1323a3a337b1c0ecb883 Mon Sep 17 00:00:00 2001 From: Reece Como Date: Tue, 23 Apr 2024 15:05:49 +1000 Subject: [PATCH 3/3] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d708ce3..b043b88 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ mySprite.run(Action.repeatForever(moveBackAndForthWhilePulsating)); | `Action.fadeOut(duration)` | Fade the alpha to `0.0`. | Yes | | `Action.fadeAlphaBy(delta, duration)` | Fade the alpha by a relative value. | Yes | | `Action.fadeAlphaTo(alpha, duration)` | Fade the alpha to a specified value. | _*No_ | -|***Controlling Node Visibility***||| +|***Controlling a Node's Visibility***||| | `Action.unhide()` | Set a node's `visible` property to `true`. | Yes | | `Action.hide()` | Set a node's `visible` property to `false`. | Yes | |***Removing a Node from the Canvas***||| @@ -159,7 +159,7 @@ mySprite.run(Action.repeatForever(moveBackAndForthWhilePulsating)); |***Triggers and Custom Actions***||| | `Action.run(callback)` | Execute a block (i.e. trigger another action). | _†Identical_ | | `Action.customAction(duration, stepHandler)` | Execute a custom stepping function over the action duration. | _†Identical_ | -|***Controlling the Node's Action Speed***||| +|***Manipulating the Action Speed of a Node***||| | `Action.speedBy(delta, duration)` | Change how fast a node executes its actions by a relative value. | Yes | | `Action.speedTo(speed, duration)` | Set how fast a node executes actions to a specified value. | _*No_ |