Flexの一般的な特効
一般的な効果クラス:
AnimateProperty:アニメーション属性Blur:ブラーDesolve:溶解Fade:凋零Glow:発光Iris:瞳孔拡大縮小Move:移動Pause:定格Resize:サイズ変更Rotate:回転SoundEffect:音響(WipeLeft,WipeRight,WipeUp,WipeDown):Zoomを拭く:拡大縮小
Sequence:シーケンス再生グループ
Parallel:コンビネーションの同時再生
一般的なアニメーション効果のトリガ方法:
AddedEffect:コンテナcreationCompleteEffectへの追加:focusInEffectの作成完了:キーボード入力focusOutEffectの取得:キーボード入力を失ったhideEffect:visableプロパティをfalse mouseDownEffectに設定:mouseUpEffectをマウスで押す:moveEffectをマウスで押す:ドラッグされたresizeEffectをドラッグされる:大きいサイズを再設定する小removedEffect:削除されたrollOutEffect:マウスをコントロールの外に移動するrollOverEffect:マウスをコントロールに移動するshowEffect:visableプロパティをtrueに設定する
一部の例:
1:glow(発光)
コード:
alphaFrom="0.6"alphaTo="0.2"
blurXFrom="0.0"blurXTo="50.0"
blurYFrom="0.0"blurYTo="50.0"
color="0xffffff"/>
duratuionは特効時間1000ミリ秒です
AlphaFromは透明度0.6から
AlphaToは透明度0.2
blurXFromは、X方向のぼかし開始位置(コントロールに対して)です.
blurXToは、X方向のぼかし終了位置(コントロールに対して)です.
blurYFromは、Y方向のぼかし開始位置(コントロールに対して)です.
blurYToは、Y方向のぼかし終了位置(コントロールに対して)
カラーは光る色
2:Sequence(シーケンス)Bounce(ジャンプ)
コード:
import mx.effects.easing.*;
yByはY方向に作用する.
duratuionは特効時間1000ミリ秒です
easingFunctionはリリース動作です
Bounce.easeOutは飛び出す動作です
Bounce.easeInはジャンプバックの動作です
コントロールに作用する:
mouseDownEffect="{movePauseMove}"
id="image4"/>
カスタム効果:
各エフェクトは、EffectInstanceエフェクトインスタンスとEffectクラスファクトリの2つの要素で構成されています.したがって、効果をカスタマイズする場合も、この2つのクラスのサブクラスをペアで作成し、それぞれEffectInstanceクラスとEffectクラスから継承します.次のようになります.
1)ある効果を手動で再生したい場合は,効果インスタンスのプレイメソッドを呼び出せばよいが,安定するためにプレイメソッドを呼び出す前にendを呼び出し,以前の効果が終了したことを保証するのが一般的である.
2)オブジェクトにトリガ効果を追加する場合:uicompnent.setStyle(「トリガ方式」、特殊効果オブジェクト);
3)コンビネーション効果(SequenceとParallel)を使用する場合、その効果のaddChildメソッドを呼び出せば、サブ効果が追加されるコンビネーション効果オブジェクトになります.次のようになります.
AnimateProperty:アニメーション属性Blur:ブラーDesolve:溶解Fade:凋零Glow:発光Iris:瞳孔拡大縮小Move:移動Pause:定格Resize:サイズ変更Rotate:回転SoundEffect:音響(WipeLeft,WipeRight,WipeUp,WipeDown):Zoomを拭く:拡大縮小
Sequence:シーケンス再生グループ
Parallel:コンビネーションの同時再生
一般的なアニメーション効果のトリガ方法:
AddedEffect:コンテナcreationCompleteEffectへの追加:focusInEffectの作成完了:キーボード入力focusOutEffectの取得:キーボード入力を失ったhideEffect:visableプロパティをfalse mouseDownEffectに設定:mouseUpEffectをマウスで押す:moveEffectをマウスで押す:ドラッグされたresizeEffectをドラッグされる:大きいサイズを再設定する小removedEffect:削除されたrollOutEffect:マウスをコントロールの外に移動するrollOverEffect:マウスをコントロールに移動するshowEffect:visableプロパティをtrueに設定する
一部の例:
1:glow(発光)
コード:
blurXFrom="0.0"blurXTo="50.0"
blurYFrom="0.0"blurYTo="50.0"
color="0xffffff"/>
duratuionは特効時間1000ミリ秒です
AlphaFromは透明度0.6から
AlphaToは透明度0.2
blurXFromは、X方向のぼかし開始位置(コントロールに対して)です.
blurXToは、X方向のぼかし終了位置(コントロールに対して)です.
blurYFromは、Y方向のぼかし開始位置(コントロールに対して)です.
blurYToは、Y方向のぼかし終了位置(コントロールに対して)
カラーは光る色
2:Sequence(シーケンス)Bounce(ジャンプ)
コード:
import mx.effects.easing.*;
yByはY方向に作用する.
duratuionは特効時間1000ミリ秒です
easingFunctionはリリース動作です
Bounce.easeOutは飛び出す動作です
Bounce.easeInはジャンプバックの動作です
コントロールに作用する:
id="image4"/>
カスタム効果:
各エフェクトは、EffectInstanceエフェクトインスタンスとEffectクラスファクトリの2つの要素で構成されています.したがって、効果をカスタマイズする場合も、この2つのクラスのサブクラスをペアで作成し、それぞれEffectInstanceクラスとEffectクラスから継承します.次のようになります.
public class TestEffect extends Effect
{
public var alp:Number;
public var col:uint;
public function TestEffect(target:Object=null)
{
super(target);
instanceClass = TestInstance;
}
override protected function initInstance(instance:IEffectInstance):void{
super.initInstance(instance);
TestInstance(instance).col = this.col;
TestInstance(instance).alp = this.alp;
}
}
public class TestInstance extends EffectInstance
{
public var alp:Number;
public var col:uint;
public function TestInstance(target:Object)
{
super(target);
}
override public function play():void{
super.play();
(target as DisplayObject).alpha = this.alp;
var shape:FlexShape = new FlexShape();
shape.graphics.beginFill(col,1.0);
shape.graphics.drawRect(0,0,(target as DisplayObject).width,(target as DisplayObject).height);
shape.graphics.endFill();
var uiComp:UIComponent = new UIComponent();
uiComp.addChild(shape);
UIComponent(target).addChild(uiComp);
}
}
public class TestEffect extends Effect
{
public var alp:Number;
public var col:uint;
public function TestEffect(target:Object=null)
{
super(target);
instanceClass = TestInstance;
}
override protected function initInstance(instance:IEffectInstance):void{
super.initInstance(instance);
TestInstance(instance).col = this.col;
TestInstance(instance).alp = this.alp;
}
}
public class TestInstance extends EffectInstance
{
public var alp:Number;
public var col:uint;
public function TestInstance(target:Object)
{
super(target);
}
override public function play():void{
super.play();
(target as DisplayObject).alpha = this.alp;
var shape:FlexShape = new FlexShape();
shape.graphics.beginFill(col,1.0);
shape.graphics.drawRect(0,0,(target as DisplayObject).width,(target as DisplayObject).height);
shape.graphics.endFill();
var uiComp:UIComponent = new UIComponent();
uiComp.addChild(shape);
UIComponent(target).addChild(uiComp);
}
}
1)ある効果を手動で再生したい場合は,効果インスタンスのプレイメソッドを呼び出せばよいが,安定するためにプレイメソッドを呼び出す前にendを呼び出し,以前の効果が終了したことを保証するのが一般的である.
2)オブジェクトにトリガ効果を追加する場合:uicompnent.setStyle(「トリガ方式」、特殊効果オブジェクト);
3)コンビネーション効果(SequenceとParallel)を使用する場合、その効果のaddChildメソッドを呼び出せば、サブ効果が追加されるコンビネーション効果オブジェクトになります.次のようになります.
Sequence.addChild(move);
Sequence.addChild(glow);