Home > Flash/Flex > [Flex]カスタムエフェクトの作成 #1

[Flex]カスタムエフェクトの作成 #1

なぜこんなことをしようとしているかというと、理由はこちら。

B-Wiki - Flex3勉強会第68回@大阪参加受付 - Flex User Group

※桜をRIAで表現できれば素敵ですね~

これをやってみたいと思ったから。 桜の花びらが舞いながらオブジェクトが消えていくエフェクト。 昔のパチンコ「花満開」とかであった(知らんか)チープな感じでOK。

ってことで一切予備知識なしで調べながら取り組む過程を残していきましょう。

まずはAdobeのドキュメント

基本ですね。 ここです。

Adobe Flex 3 カスタムエフェクトの作成について

ここによると以下の2つのクラスを用意する必要がある。

  1. ファクトリクラス

    mx.effects.Effectもしくはそのサブクラスを継承する。エフェクトのパラメータ(ズームサイズとかエフェクト持続時間など)を受け取り、インスタンスクラスに引き渡す役割を持つ。 以下のようなMXMLで使用しているWipeDownはこのファクトリクラスのことのようだ。 名前も Zoom や Fade などそのエフェクトそのものを表わす名前にする慣例らしい。

    <!-- Define factory class. -->
    <mx:WipeDown id="myWD" duration="1000"/>
    <!-- Assign factory class to effect targets. -->
    <mx:Button id="myButton" mouseDownEffect="{myWD}"/>
    <mx:Button id="myOtherButton" mouseDownEffect="{myWD}"/>
    
  2. インスタンスクラス

    エフェクトの実際の処理を実装するクラス。ファクトリクラスがインスタンスクラスを使用して各コンポーネントのエフェクトを実行していくようなイメージだろう。エフェクト処理そのものは、インスタンスクラス内に書くわけだ。ZoomInstanceやFadeInstanceのように、エフェクト名の末尾にInstanceとつける慣例らしい。


以上、どうやら構成はかなりシンプルだ。 しかし、それだけではない。 ファクトリクラスにしてもインスタンスクラスにしても、目的に応じてある程度の機能を備えたクラスが既に準備されているようだ。

ファクトリクラスには以下の代表的なクラスがある。

クラス名 目的
mx.effects.Effect 単純なエフェクト。つまり一瞬で消えるとか、色が変わるとか、変化に時間の経過を伴わないもの。
mx.effects.TweenEffect アニメーションなどの一定時間再生するエフェクト。ResizeエフェクトなどはこのTweenEffectを継承しているらしい。

今回はアニメーションを必要とするため、TweenEffectを継承して作っていこう。 続く。


関連するエントリー [Flex] カスタムエフェクトの作成 #1





プレビュー

トラックバック:No Trackbacks

トラックバック URL
http://blog.garden-place.jp/action.php?action=plugin&name=TrackBack&tb_id=237
Listed below are links to weblogs that reference
[Flex]カスタムエフェクトの作成 #1 from Web 酒 肴
このエントリにトラックバックはありません
このトラックバックURLを使ってこの記事にトラックバックを送ることができます。 もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。.

Home > Flash/Flex > [Flex]カスタムエフェクトの作成 #1

Search
Feeds

Page Top