Home > Archives > 2008-10

2008-10

ExImageLoaderのおさらい


以前Progression2でExImageLoaderクラスを使った記事をエントリ(『Loaderクラスって沢山あるなぁ…』を参照)しました。

そこで書いたソースをProgression3で試してみると、怒られます!

なので、おさらいがてら、もう一度ExImageLoaderを使ってみることに…

今回もprogression.jpからダウンロード出来るクラスベースでのサンプルを使います。

about、contactに加えて、galleryというシーンを作って、そこに画像を読み込んで表示させてみたいと思います。

まず、prml形式のxmlにgalleryシーンを追記します。

<?xml version="1.0" encoding="utf-8"?>
<prml version="2.0.0" type="text/prml">
<scene name="index" cls="myproject.IndexScene">
	<scene name="about" cls="myproject.AboutScene">
	</scene>
	<scene name="gallery" cls="myproject.GalleryScene">
	</scene>
	<scene name="contact" cls="myproject.ContactScene">
	</scene>
</scene>
</prml>

Index.as内でPRMLLoaderクラスを使って、シーンを動的に生成しています。

次に、ButtonやSceneのクラスファイルを(AboutやContactを参考に)作成します。

GalleryPageのクラスファイルに以下を記述。

(略)
//GalleryPage クラス
public class GalleryPage extends CastSprite {

    /*======================================================================*//**
    *
    */
    private var _url:String = "contents/images/photo1.jpg";
    private var _loader:ExImageLoader;

    /*======================================================================*//**
    * コンストラクタ
    */
    public function GalleryPage( initObject:Object = null ) {
        super( initObject );

        // ExImageLoader インスタンスを作成する
        _loader =new  ExImageLoader();
        _loader.x = 0;
        _loader.y = 0;
        _loader.ratio = true;
        _loader.width = 300;
        _loader.height = 225;
        toolTip.text ="ほげほげ";
        addChild(_loader);

    }
(略)

ratioはPorgression2の時にも書きましたが、リサイズの際に比率を保つかどうかの設定です。

ちょっと大きめの画像(幅400px、高さ300px)を、幅300px、高さ225pxにリサイズして使っているので、今回はこんな記述になっています。

ratioをtrueにしても、幅と高さの両方を指定しないと、思ったとおりの画像サイズにリサイズしてくれません

例えばこんな感じにしてしまうと、

_loader.ratio = true;
_loader.width = 300;

高さも自動的に225pxになってくれそうな感じもしますが、残念ながら高さは300pxになってしまいます。

ratioを使う場合は、幅、高さの両方を指定した方が良さそうです。

ExImageLoaderAlignは今回使っていませんが、その理由はデフォルトではこの設定はTOP_LEFTになっているからです。(CENTERとかにしたいときは、設定する必要あり!)

あとはonCastAdded()内に以下を記述

protected override function _onCastAdded():void {

    // 透明にする
    alpha = 0;

    // 実行したいコマンドを登録する
    addCommand(

        // 画像を読み込む
        new Func( _loader.load, [ new URLRequest( _url ) ],_loader, Event.COMPLETE),

        // アニメーションを実行する
            new DoTweener( this, {
            alpha	:1,
            time	:1
        } )
    );
}

これでgalleryページで、写真が表示されるようになりました。

FuncクラスがProgression2と3では書式が違う為に、怒られたのです。

//Progresion2でのFuncクラスの書式
Func(scope:Object = null, func:Function = null, args:Array = null, delay:int = 0, dispatcher:IEventDispatcher = null, eventType:String = null)

//Progresion3でのFuncクラスの書式
Func(func:Function = null, args:Array = null, dispatcher:IEventDispatcher = null, eventType:String = null, initObject:Object = null)

この書式に合わせて書いてあげれば、怒られなくなります。

ExImageLoaderを使う利点は、リサイズが出来るということだと思います。(CastLoaderでは出来ない! CastImageLoaderでは出来ちゃうけど…)

FlashPlayer10のバージョン判別


taka_niumさんが、Adobe Developer Connectionに『Flash Player 10 バージョン判別チェックリスト』という記事を寄稿されています。

これは要チェック!

Loaderクラスって沢山あるなぁ…


Progression3のLoaderに関するクラスって結構沢山ありますよねぇ…

以前のバージョン(Progression2)の際に、以下のようなエントリをしました。

Progression3のリファレンスを眺めていたら、CastImageLoaderっていうクラスがあることに気が付いて…

CastImageLoaderは、Progression2の時にはなかったクラスだったので、今まで完全ノーマーク。

画像の読み込みはExImageLoaderクラスを使えば大丈夫! って思っていたので…

早速リファレンスを見てみると、「ExImageLoaderクラスの基本機能を拡張し、イベントフローとの連携機能を実装してある」と書かれているので、何だかこっちの方が便利そう…

詳しく調べてみる必要あり。

リファレンスには、他にもLoaderクラスが掲載されています。

  1. CastLoaderクラス
  2. CastImageLoaderクラス
  3. ExLoaderクラス
  4. ExImageLoaderクラス
  5. URLLoaderクラス
  6. ExURLLoaderクラス
  7. PRMLLoaderクラス

PRMLLoaderクラスはつい最近調べたばかり(以下のエントリを参照してください)。

きちんと使い方を覚えておく必要あるなぁ…

いまいちシックリこない…


前回作成したDoTransition Generatorは各種パラメーターの設定が出来なかったので、それをどうにかしたいなぁ…と思っていたので、とりあえずサンプルみたいなのを作ってみる。(下のサンプルはswfじゃなくて単なる画像です)

DoTransition Generatorのサンプル

リストからパラメーターを選んで、追加ボタンを押すと、TextAreaにコードが蓄積されていく。

これでOKみたいになったら、BOXが動くようにしようかなぁ…なんて思っているんですが、いまいちシックリこない。

作っていると、果たしてこれって必要? 前回のDoTransition Generatorでいいんじゃない? とかいろいろ考えてしまう…

まぁ、暫くは作成を続けてみます。(途中で挫折するかもしれませんが…)

EffectViewerもmxpにしてみました


DoTransition GeneratorをFlashのパネルにしてみると、(僕個人としては)物凄く使い易かったので、(ついでといっては何ですが)以前作成したEffectViewerもmxpファイルにしてみました。

mxpファイルのインストール方法は、昨日のエントリDoTransition Generatorをmxpにしてみましたと同じですので、詳しくは昨日のエントリを参照してください。

なお今回も、mxpファイルをインストールして、マシンの調子が悪くなった…とか、弁償しろ! などには応じかねますので、あくまで自己責任でmxpファイルをダウンロード&インストール&(EffectViewerを)ご使用の方、お願い致します。

昨日と同様、僕のマシンでは今のところ問題なく動いております。

★mxpファイルのダウンロードは以下のリンクからどうぞ!

EffectViewerのmxpファイルをダウンロードする

Home > Archives > 2008-10

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top