Token导航 LogoToken导航TokenDH.com
待分类只读github未标认证来源可访问许可证需确认审计通过

tweenstweens 命令行

Agent Skill

tweens 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,077

周安装

44

GitHub Stars

39,507

下载量

348
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tweens(tweens 命令行)
来源仓库:https://github.com/phaserjs/phaser
仓库路径:skills/tweens
安装命令:
npx skills add https://github.com/phaserjs/phaser --skill tweens
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/phaserjs/phaser --skill tweens

简介

用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中围绕仓库状态、代码变更或协作事项进行整理。

  • 可结合来源仓库、安装命令和原始 README 继续核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 适用于需要自动化处理代码协作流程的开发场景。
  • 支持主流 AI 编程工具集成使用。

SKILL.md

Tweens

Animating properties over time in Phaser 4 -- TweenManager, creating tweens, tween config, easing functions, tween chains, stagger, yoyo, repeat, callbacks, and tween targets.

Key source paths: src/tweens/TweenManager.js, src/tweens/tween/Tween.js, src/tweens/tween/TweenChain.js, src/tweens/tween/BaseTween.js, src/tweens/builders/, src/tweens/typedefs/, src/tweens/events/, src/math/easing/ Related skills:../sprites-and-images/SKILL.md,../animations/SKILL.md

Quick Start

// In a Scene's create() method:

const logo = this.add.image(100, 300, 'logo');

// Basic tween -- move the logo to x:600 over 2 seconds
this.tweens.add({
    targets: logo,
    x: 600,
    duration: 2000,
    ease: 'Power2'
});

this.tweens is the scene's TweenManager instance, available in every Scene. The add() method creates a tween, adds it to the manager, and starts playback immediately.

Core Concepts

Tween Lifecycle

Created -> Active (onActive) -> Start Delayed (delay) -> Playing (onStart, onUpdate per frame) -> Yoyo/Repeat (onYoyo, onRepeat) -> Loop (onLoop) -> Complete (onComplete, then auto-destroyed unless persist: true).

Fire-and-Forget Design

Tweens auto-destroy after completion. You do not need to store a reference unless you want to control them later. Set persist: true in the config to keep a tween alive after completion for replay via tween.play() or tween.restart(). You must manually call tween.destroy() on persisted tweens when done.

Targets

The targets property accepts a single object, an array of objects, or a function that returns either. Targets are typically Game Objects but can be any JavaScript object with numeric properties. A tween will not manipulate any property that begins with an underscore.

// Single target
this.tweens.add({ targets: sprite, alpha: 0, duration: 500 });

// Multiple targets
this.tweens.add({ targets: [sprite1, sprite2, sprite3], y: 100, duration: 1000 });

Property Values

this.tweens.add({
    targets: sprite,
    x: 400,                  // absolute value
    y: '-=100',              // relative (subtract 100 from current)
    rotation: '+=3.14',      // relative (add to current)
    alpha: { value: 0, duration: 300, ease: 'Cubic.easeIn' },  // per-property config
    scale: [0.5, 1.5, 1],   // array: interpolates through values over duration
    angle: function (target, key, value, targetIndex, totalTargets, tween) {
        return targetIndex * 90;   // function: called once per target
    },
    duration: 1000
});

Array values use linear interpolation by default; override with the interpolation config ('linear', 'bezier', 'catmull').

Common Patterns

Basic Tween

this.tweens.add({
    targets: this.player,
    x: 500,
    y: 300,
    duration: 1000,
    ease: 'Sine.easeInOut'
});

Multiple Properties with Per-Property Config

this.tweens.add({
    targets: this.enemy,
    x: { value: 600, duration: 1500, ease: 'Bounce.easeOut' },
    y: { value: 200, duration: 1000, ease: 'Power2' },
    alpha: { value: 0.5, duration: 500, delay: 1000 }
});

Yoyo and Repeat

this.tweens.add({
    targets: this.coin,
    y: '-=50',
    duration: 600,
    ease: 'Sine.easeInOut',
    yoyo: true,         // returns to start value after reaching end
    hold: 200,          // pause 200ms at the end value before yoyo-ing back
    repeat: -1,         // -1 = infinite, 0 = play once, 1 = play twice, etc.
    repeatDelay: 300     // pause 300ms before each repeat
});

repeat controls how many extra times each property plays. A repeat of 1 means the tween plays twice total. The loop property (on BaseTween) restarts the entire tween from scratch, including all properties. Use repeat for property-level looping and loop for tween-level looping.

Stagger

Stagger offsets a value across multiple targets via this.tweens.stagger():

// 100ms delay between each target
delay: this.tweens.stagger(100)

// From center outward
delay: this.tweens.stagger(200, { from: 'center' })

// Range: distribute 0-1000ms across targets
delay: this.tweens.stagger([0, 1000])

// Grid stagger with easing
delay: this.tweens.stagger(500, { grid: [10, 6], from: 'center', ease: 'Cubic.easeOut' })

StaggerConfig: start (offset), ease (string/function), from ('first'/'center'/'last'/index), grid ([w, h]).

Tween Chain

A TweenChain plays tweens in sequence. Each tween in the chain starts after the previous one completes:

this.tweens.chain({
    targets: this.player,
    tweens: [
        { x: 300, duration: 1000, ease: 'Power2' },
        { y: 500, duration: 800, ease: 'Bounce.easeOut' },
        { scale: 2, duration: 500 },
        { alpha: 0, duration: 400 }
    ],
    loop: 1,          // loop the entire chain once (plays twice total)
    loopDelay: 500,
    onComplete: function () {
        console.log('Chain finished');
    }
});

Each entry in tweens is a standard TweenBuilderConfig. Chain-level config supports loop, loopDelay, completeDelay, paused, persist, and chain-level callbacks. Per-tween callbacks (onUpdate, onRepeat, onYoyo) belong on individual entries. Use chain.add(tweenConfigs) to append dynamically.

Relative Values

this.tweens.add({
    targets: sprite,
    x: '+=200',    // add 200 to current x
    y: '-=50',     // subtract 50 from current y
    angle: '+=180',
    duration: 1000
});

Callbacks and Events

this.tweens.add({
    targets: sprite,
    x: 600,
    duration: 2000,

    // All callbacks receive (tween, targets, ...params)
    onStart: function (tween, targets) { },
    onUpdate: function (tween, targets) { },     // per-property, per-target, per-frame
    onYoyo: function (tween, targets) { },
    onRepeat: function (tween, targets) { },
    onLoop: function (tween, targets) { },
    onComplete: function (tween, targets) { },

    onCompleteParams: ['extra', 'args'],
    callbackScope: this
});

// Set callback after creation
tween.setCallback('onComplete', function (tween, targets) { }, []);

// Event emitter style (tweens extend EventEmitter)
tween.on('complete', function (tween, targets) { });

Number Tweens

A Number Tween has no target object. It tweens between two numeric values:

const counter = this.tweens.addCounter({
    from: 0,
    to: 100,
    duration: 2000,
    ease: 'Linear',
    onUpdate: function (tween) {
        const value = tween.getValue();
        console.log(value);   // 0 ... 100
    }
});

Controlling and Killing Tweens

const tween = this.tweens.add({ targets: sprite, x: 600, duration: 2000, persist: true });

// Playback control
tween.pause();                  tween.resume();
tween.stop();                   // flags for removal; fires onStop
tween.restart();                // reset and replay from beginning
tween.seek(1000);               // seek to 1000ms (suppresses events by default)
tween.complete();               // immediately complete; fires onComplete
tween.completeAfterLoop(0);     // finish after current loop
tween.forward(500);             tween.rewind(500);
tween.setTimeScale(0.5);       // per-tween speed
tween.updateTo('x', 800);      // change end value mid-tween

// Manager-level control
this.tweens.killAll();                     // destroy all tweens
this.tweens.killTweensOf(sprite);          // destroy tweens on target
this.tweens.isTweening(sprite);            // boolean check
this.tweens.pauseAll();                    this.tweens.resumeAll();
this.tweens.setGlobalTimeScale(0.5);       // global speed

Configuration Reference

TweenBuilderConfig

PropertyTypeDefaultDescription
targetsany / any[](required)Object(s) to tween.
durationnumber1000Duration in ms.
delaynumber / function0Delay before start (ms). Accepts stagger().
easestring / function'Power0'Easing function name or custom function.
easeParamsarraynullParameters for parameterized easing (e.g. Elastic).
holdnumber0Hold at end value before yoyo (ms).
repeatnumber0Per-property repeat count. -1 = infinite.
repeatDelaynumber0Delay before each repeat (ms).
yoyobooleanfalseReverse back to start after reaching end.
flipX / flipYbooleanfalseToggle flip on yoyo/repeat.
loopnumber0Tween-level loop count. -1 = infinite.
loopDelaynumber0Delay before each loop (ms).
completeDelaynumber0Delay before onComplete fires (ms).
pausedbooleanfalseStart paused. Call play() to begin.
persistbooleanfalseKeep alive after completion.
propsobject--Explicit property config map (alt to top-level props).
interpolationstring / function--For array values: 'linear', 'bezier', 'catmull'.
callbackScopeanytweenthis context for callbacks.
Callbacksfunction--onActive, onStart, onUpdate, onYoyo, onRepeat, onLoop, onComplete, onStop, onPause, onResume. Each has matching on<Name>Params array.

TweenChainBuilderConfig

PropertyTypeDefaultDescription
targetsany / any[]--Default targets inherited by child tweens.
tweensTweenBuilderConfig[](required)Array of tween configs to play in sequence.
loopnumber0Times to loop the entire chain. -1 = infinite.
loopDelaynumber0Delay before each loop (ms).
completeDelaynumber0Delay before onComplete fires (ms).
pausedbooleanfalseStart paused.
persistbooleanfalseKeep alive after completion.
Callbacksfunction--onActive, onStart, onLoop, onComplete, onStop, onPause, onResume.

NumberTweenBuilderConfig

PropertyTypeDefaultDescription
fromnumber0Start value.
tonumber1End value.
durationnumber1000Duration in ms.
easestring / function'Power0'Easing function.
All standard timing----delay, hold, repeat, repeatDelay, yoyo, loop, loopDelay, completeDelay, paused, persist.
All standard callbacks----Same callback set as TweenBuilderConfig.

TweenPropConfig (Per-Property Object)

Used when a property value is an object instead of a number/string. Supports: value, getActive, getEnd, getStart, ease, delay, duration, yoyo, hold, repeat, repeatDelay, flipX, flipY, interpolation. All override the tween-level defaults for that one property.

Easing Functions

All easing names are case-insensitive. Use the string name in the ease config property.

Power Aliases

NameEquivalent
Power0Linear
Power1Quad.easeOut (Quadratic Out)
Power2Cubic.easeOut
Power3Quart.easeOut (Quartic Out)
Power4Quint.easeOut (Quintic Out)

Full Easing List

Each type supports .easeIn, .easeOut, .easeInOut variants. The bare name defaults to Out.

Types: Quad, Cubic, Quart, Quint, Sine, Expo, Circ, Elastic, Back, Bounce.

Usage: 'Sine.easeInOut', 'Bounce.easeIn', 'Cubic.easeOut', 'Back' (same as 'Back.easeOut').

Special: Linear (no easing), Stepped (discrete steps -- easeParams: [numSteps]).

Custom: ease: function (t) {return t * t;} where t is 0 to 1.

Events

Tweens (and TweenChains) extend EventEmitter. You can listen via .on():

Event StringConstantFires When
'active'Phaser.Tweens.Events.TWEEN_ACTIVETween added to manager
'start'Phaser.Tweens.Events.TWEEN_STARTPlayback begins (after delay)
'update'Phaser.Tweens.Events.TWEEN_UPDATEProperty updates each frame
'yoyo'Phaser.Tweens.Events.TWEEN_YOYOProperty begins yoyo-ing back
'repeat'Phaser.Tweens.Events.TWEEN_REPEATProperty repeats
'loop'Phaser.Tweens.Events.TWEEN_LOOPEntire tween loops
'complete'Phaser.Tweens.Events.TWEEN_COMPLETETween finishes
'stop'Phaser.Tweens.Events.TWEEN_STOPtween.stop() called
'pause'Phaser.Tweens.Events.TWEEN_PAUSEtween.pause() called
'resume'Phaser.Tweens.Events.TWEEN_RESUMEtween.resume() called

Event listener signature for Tween events: function(tween, targets). During seeking (tween.isSeeking === true), events and callbacks are suppressed by default.

API Quick Reference

TweenManager (this.tweens)

MethodReturnsPurpose
add(config)TweenCreate, add, and start a tween.
addMultiple(configs[])Tween[]Create multiple tweens at once.
create(config)TweenCreate without adding. Use existing() to add later.
chain(config)TweenChainCreate and start a sequential chain.
addCounter(config)TweenNumber tween (no target).
stagger(value, config?)functionStagger function for delay/property values.
existing(tween)thisAdd a pre-created tween to the manager.
remove(tween)thisRemove without destroying.
has(tween)booleanCheck if tween is in manager.
getTweens()Tween[]All active tweens (copy).
getTweensOf(target)Tween[]Tweens affecting a target.
isTweening(target)booleanIs target being tweened?
killAll() / killTweensOf(target)thisDestroy tweens.
pauseAll() / resumeAll()thisPause/resume all tweens.
setGlobalTimeScale(v) / getGlobalTimeScale()this / numberGlobal speed.
setFps(fps)thisLimit tick rate (default 240).
setLagSmooth(limit, skip)thisConfigure lag smoothing.
each(cb, scope)thisIterate all tweens.

Tween Instance

MethodPurpose
play() / pause() / resume()Playback control.
stop()Stop and flag for removal. Fires onStop.
restart()Reset and replay.
complete(delay?)Immediately complete.
completeAfterLoop(loops?)Complete after N more loops.
seek(ms, delta?, emit?)Seek to ms offset.
forward(ms) / rewind(ms)Step forward/back.
setTimeScale(v) / getTimeScale()Per-tween speed.
setCallback(type, fn, params?)Set callback after creation.
getValue(index?)Current TweenData value.
updateTo(key, value, startToCurrent?)Change end value mid-tween.
hasTarget(target) / isPlaying() / isPaused()State checks.
remove() / destroy()Cleanup.

Key properties: targets, duration, elapsed, progress (0-1), totalProgress (0-1 including loops), totalDuration, timeScale, paused, persist, data (TweenData[]), isInfinite, isNumberTween.

TweenChain Instance

Extends BaseTween. Has all tween playback methods (play, pause, resume, stop, restart, complete, etc.) plus add(tweenConfigs) to append tweens dynamically. Properties: currentTween, currentIndex.

Gotchas

  • Underscore properties are ignored. A tween will skip any property whose name starts with _.
  • Tweens auto-destroy. If you store a reference to a tween and try to use it after completion, it may be destroyed. Set persist: true to keep it alive, but you must destroy() it yourself when done.
  • repeat vs loop. repeat is per-property (on TweenData). loop restarts the entire tween. A repeat of 1 means the property plays twice total.
  • loop: -1 means onComplete never fires. An infinitely looping tween never completes. Use completeAfterLoop() to end it gracefully.
  • Seeking suppresses events. When calling tween.seek(), events and callbacks are not dispatched unless you pass true as the third argument.
  • Stagger only works with multiple targets. Using this.tweens.stagger() on a single-target tween has no visible stagger effect.
  • Destroyed targets. A tween completes early if its target has isDestroyed set to true. Always clean up tweens before destroying the objects they reference, or rely on this auto-check.
  • TweenManager.timeScale multiplies with Tween.timeScale. The effective speed is managerTimeScale * tweenTimeScale. Setting either to 0 freezes the tween.
  • Duration cannot be zero. Internally clamped to a minimum of 0.01ms.
  • TweenChain targets are inherited. If you set targets at the chain level, individual tweens in the chain inherit them unless they specify their own.

Source File Map

FilePurpose
src/tweens/TweenManager.jsScene plugin. add, chain, stagger, killAll, etc.
src/tweens/tween/Tween.jsIndividual tween. Targets, TweenData array, seeking, update.
src/tweens/tween/TweenChain.jsSequential tween playback via ordered child Tweens.
src/tweens/tween/BaseTween.jsShared base. EventEmitter, callbacks, state machine.
src/tweens/tween/BaseTweenData.jsPer-property state: duration, delay, yoyo, repeat, progress.
src/tweens/tween/TweenData.jsNumeric property tweening (extends BaseTweenData).
src/tweens/tween/TweenFrameData.jsTexture frame tweening (extends BaseTweenData).
src/tweens/builders/TweenBuilder.jsParses config into Tween instance.
src/tweens/builders/TweenChainBuilder.jsParses config into TweenChain instance.
src/tweens/builders/NumberTweenBuilder.jsBuilds target-less number tweens.
src/tweens/builders/StaggerBuilder.jsCreates stagger functions.
src/tweens/events/Event constants (TWEEN_ACTIVE, TWEEN_START, etc.).
src/tweens/typedefs/JSDoc typedefs for all config objects.
src/math/easing/EaseMap.jsMaps ease string names to functions.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

38.74%
按下载量换算135

Claude

30.96%
按下载量换算108

Cursor

18.3%
按下载量换算64

Gemini CLI

8.96%
按下载量换算31

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

只读

该 Skill 主要提供规则、说明或参考内容,本身偏只读;真正读写文件、联网或执行命令仍取决于宿主 Agent 的任务。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills