package org.libspark.betweenas3.tweens { import flash.events.IEventDispatcher; // EventDispatcher は委譲 & 遅延生成で実装しましょう。 /** * トゥイーン及びその制御. * * @author yossy:beinteractive */ public interface ITween extends IEventDispatcher { /** * このトゥイーンの継続時間 (秒) を返します. */ function get duration():Number; /** * このトゥイーンの現在位置 (秒) を返します. */ function get position():Number; /** * このトゥイーンが現在再生中であれば true, そうでなければ false を返します. */ function get isPlaying():Boolean; /** * このトゥイーンの完了時に再生を停止するのであれば true, そうでなければ false を設定します. */ function get stopOnComplete():Boolean; /** * @private */ function set stopOnComplete(value:Boolean):void; function get onPlay():Function; function set onPlay(value:Function):void; function get onPlayParams():Array; function set onPlayParams(value:Array):void; function get onStop():Function; function set onStop(value:Function):void; function get onStopParams():Array; function set onStopParams(value:Array):void; function get onUpdate():Function; function set onUpdate(value:Function):void; function get onUpdateParams():Array; function set onUpdateParams(value:Array):void; function get onComplete():Function; function set onComplete(value:Function):void; function get onCompleteParams():Array; function set onCompleteParams(value:Array):void; /** * このトゥイーンの再生を現在の位置から開始します. */ function play():void; /** * このトゥイーンの再生を現在の位置で停止します. */ function stop():void; /** * このトゥイーンの再生を一時停止または再開します. */ function togglePause():void; /** * このトゥイーンの再生を指定された位置から開始します. * * @param position 再生を開始する位置 (秒) */ function gotoAndPlay(position:Number):void; /** * このトゥイーンの再生を指定された位置で停止します. * * @param position 再生を停止する位置 (秒) */ function gotoAndStop(position:Number):void; /** * この ITween のクローンを生成して返します. * * @return この ITween のクローン */ function clone():ITween; } }
BetweenAS3の最近のブログ記事
package org.libspark.betweenas3.tweens { /** * 複数のトゥイーンのコンテナ. * * @author yossy:beinteractive */ public interface ITweenGroup extends ITween { function contains(tween:ITween):Boolean; function getTweenAt(index:int):ITween; function getTweenIndex(tween:ITween):int; } }
package org.libspark.betweenas3.tweens { // target の各プロパティに対する値のセッター、特殊プロパティの処理の提供などが主な役割。 // 各プロパティといっても、全てのプロパティに対して責任を持つ必要は無く、特殊化したいものだけ処理すればよい。 // たとえば DisplayObject に対するものであれば、主要な x, y, rotation といったプロパティのみに対する処理だけでも良い。 // それ以外のプロパティに関しては、全てのプロパティを扱うことができる汎用的な ObjectTweenTarget が責任を持って処理をするので // 意識する必要は無い。 /** * ひとつのオブジェクトを対象としたトゥイーンターゲットです. * * @author yossy:beinteractive */ public interface IObjectTween extends ITween { /** * このトゥイーンの対象となるオブジェクトを取得します. */ function get target():Object; } }
新しいトゥイーンを作成します.
public static function tween(target:Object, to:Object, from:Object = null, time:Number = 1.0, easing:IEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
to トゥイーンの終了値
from トゥイーンの開始値
time トゥイーンに掛ける時間
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
新しいトゥイーンを作成します.
public static function to(target:Object, to:Object, time:Number = 1.0, easing:IEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
to トゥイーンの終了値
time トゥイーンに掛ける時間
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
新しいトゥイーンを作成します.
public static function from(target:Object, from:Object, time:Number = 1.0, easing:IEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
from トゥイーンの開始値
time トゥイーンに掛ける時間
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
指定されたオブジェクトにトゥイーンの値を適用します.
public static function apply(target:Object, to:Object, from:Object = null, time:Number = 1.0, applyTime:Number = 1.0, easing:IEasing = null):void
target 対象となるオブジェクト
to トゥイーンの終了値
from トゥイーンの開始値
time トゥイーンに掛ける時間
applyTime 適用する時間
easing トゥイーンに使用するイージング
新しいベジェトゥイーンを作成します.
public static function bezier(target:Object, to:Object, from:Object = null, controlPoint:Object = null, time:Number = 1.0, easing:IEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
to トゥイーンの終了値
from トゥイーンの開始値
controlPoint コントロールポイント
time トゥイーンに掛ける時間
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
新しいベジェトゥイーンを作成します.
public static function bezierTo(target:Object, to:Object, controlPoint:Object = null, time:Number = 1.0, easing:IEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
to トゥイーンの終了値
controlPoint コントロールポイント
time トゥイーンに掛ける時間
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
新しいベジェトゥイーンを作成します.
public static function bezierFrom(target:Object, from:Object, controlPoint:Object = null, time:Number = 1.0, easing:IEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
from トゥイーンの開始値
controlPoint コントロールポイント
time トゥイーンに掛ける時間
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
新しい物理トゥイーンを作成します.
public static function physical(target:Object, to:Object, from:Object = null, easing:IPhysicalEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
to トゥイーンの終了値
from トゥイーンの開始値
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
新しい物理トゥイーンを作成します.
public static function physicalTo(target:Object, to:Object, easing:IPhysicalEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
to トゥイーンの終了値
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
新しい物理トゥイーンを作成します.
public static function physicalFrom(target:Object, from:Object, easing:IPhysicalEasing = null):IObjectTween
target トゥイーンの対象となるオブジェクト
from トゥイーンの開始値
easing トゥイーンに使用するイージング
戻り値: 作成されたトゥイーン
指定されたオブジェクトに物理トゥイーンの値を適用します.
public static function physicalApply(target:Object, to:Object, from:Object = null, applyTime:Number = 1.0, easing:IPhysicalEasing = null):void
target 対象となるオブジェクト
to トゥイーンの終了値
from トゥイーンの開始値
applyTime 適用する時間
easing トゥイーンに使用するイージング
指定さたトゥイーンを結合して、同時に実行するトゥイーンを作成します.
public static function parallel(...tweens:Array):ITweenGroup
...tweens 結合するトゥイーン
戻り値: 作成されたトゥイーン
指定された配列内のトゥイーンを結合して、同時に実行するトゥイーンを作成します.
public static function parallelTweens(tweens:Array):ITweenGroup
tweens 結合するトゥイーンの配列
戻り値: 作成されたトゥイーン
指定さたトゥイーンを結合して、順番に実行するトゥイーンを作成します.
public static function serial(...tweens:Array):ITweenGroup
...tweens 結合するトゥイーン
戻り値: 作成されたトゥイーン
指定された配列内のトゥイーンを結合して、順番に実行するトゥイーンを作成します.
public static function serialTweens(tweens:Array):ITweenGroup
tweens 結合するトゥイーンの配列
戻り値: 作成されたトゥイーン
指定されたトゥイーンを逆にしたトゥイーンを作成します.
public static function reverse(tween:ITween, reversePosition:Boolean = true):ITween
tween 元となるトゥイーン
reversePosition 作成されたトゥイーンが元となるトゥイーンと同じ位置を指すようポジションを設定するのであれば true そうでなければ false
戻り値: 作成されたトゥイーン
指定されたトゥイーンを繰り返したトゥイーンを作成します.
public static function repeat(tween:ITween, repeatCount:uint):ITween
tween 元となるトゥイーン
repeatCount 繰り返す回数
戻り値: 作成されたトゥイーン
指定されたトゥイーンをタイムスケールしたトゥイーンを作成します.
public static function scale(tween:ITween, scale:Number):ITween
tween 元となるトゥイーン
scale スケール値
戻り値: 作成されたトゥイーン
指定されたトゥイーンの一部分を切り出したトゥイーンを作成します.
public static function slice(tween:ITween, begin:Number, end:Number, isPercent:Boolean = false):ITween
tween 元となるトゥイーン
begin 切り出しの開始時間
end 切り出しの終了時間
isPercent 切り出しの時間を元のトゥイーンにかかる時間に対する割合で指定するのであれば true そうでなければ false
戻り値: 作成されたトゥイーン
指定されたトゥイーンに遅延を加えたトゥイーンを作成します.
public static function delay(tween:ITween, delay:Number, postDelay:Number = 0.0):ITween
tween 元となるトゥイーン
delay トゥイーン前の遅延時間
postDelay トゥイーン後の遅延時間
戻り値: 作成されたトゥイーン
指定された DislayObjectContainer に DisplayObject を追加するトゥイーンを作成します.
public static function addChild(target:DisplayObject, parent:DisplayObjectContainer):ITween
target DisplayObjectContainer に追加される DisplayObject
parent DisplayObject を追加する DisplayObjectContainer
戻り値: 作成されたトゥイーン
指定された DisplayObject の親から DisplayObject を削除するトゥイーンを作成します.
public static function removeFromParent(target:DisplayObject):ITween
target 親から削除する DisplayObject
戻り値: 作成されたトゥイーン
指定された関数を実行するトゥイーンを作成します.
public static function func(func:Function, params:Array = null, useRollback:Boolean = false, rollbackFunc:Function = null, rollbackParams:Array = null):ITween
func 実行する関数
params 実行する関数に渡す引数
useRollback ロールバック時に関数を実行するのであれば true そうでなければ false
rollbackFunc ロールバック時に実行する関数
rollbackParams ロールバック時に実行する関数に渡す引数
戻り値:
BetweenAS3のeasingの種類
Back
Bounce
Circ または Circular
Cubic
Elastic
Expo または Exponential
Linear
Quad または Quadratic
Quart または Quartic
Quint または Quintic
Sine
BetweenAS3のTweenEvent
public static const PLAY:String = 'play';
public static const STOP:String = 'stop';
public static const UPDATE:String = 'update';
public static const COMPLETE:String = 'complete';
AS2スタイル
onPlay
onPlayParams
onStop
onStopParams
onUpdate
onUpdateParams
onComplete
onCompleteParams
// ColorTransform in DisplayObject BetweenAS3.to(mc, { transform: { colorTransform: { redOffset: 255 } } }).play();
// SoundTransform in SoundChannel BetweenAS3.to(sc, { soundTransform: { volume: 0.0 } }).play();参考:BetweenAS3/en - Spark project
_bevelFilter
_blurFilter
_colorMatrixFilter
_convolutionFilter
_displacementMapFilter
_dropShadowFilter
_glowFilter
_gradientBevelFilter
_gradientGlowFilter
_shaderFilter
MovieClipのフレームのトゥイーン
_frame
例:
BetweenAS3.to(mc, { _glowFilter: { blurX: 32, blurY: 32 } }).play();参考:BetweenAS3/en - Spark project