外部画像ファイルを表示するだけで一苦労であった[AIR/Flex]
(2011-01-24 22:26:21) by shinoda


< ページ移動: 1 2 >

Flex Builder 3 で作成する flash の中で、サーバ上の画像ファイルを読み込んで表示をしたいのだが、「Action Script 3.0 逆引きクイックリファレンス」などの書籍に載っているやり方だと上手くいかない。
例えば、こんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    initialize="initProc()"
    layout="absolute" width="420" height="250"
    borderColor="#D7DBDD" color="#000000"
    backgroundGradientAlphas="[1.0, 1.0]"
    backgroundGradientColors="[#CAC8C8, #CAC8C8]">
   
    <mx:Script>
    <![CDATA[

    import flash.net.URLRequest;
    import flash.display.*;
    import flash.events.*;

    public var gLoader:Loader    = new Loader();

    private function initProc():void {

        var url:URLRequest    = new URLRequest("http://hogehoge.jp/images/qr_code.gif");
        gLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
        gLoader.load(url);

    }

    private function loadComplete(event:Event):void {

        var loaderInfo:LoaderInfo    = event.target as LoaderInfo;
        var bitmap:Bitmap    = loaderInfo.content as Bitmap;

        addChild(bitmap);

    }

    ]]>
    </mx:Script>

</mx:Application>

しかし、これで Flex Builder 3 で swf ファイルを作成しても、エラーも出ないが画像も表示されない。
ちゃんと画像は読み込まれ、Event.COMPLETE イベントも発生しているのだが、画像は表示されないのである。なんでぇ?

Web 上でググっても、だいたい、上のようなソースで上手くいっているようである。何で上手くいかないのかは謎。
FlexBuilder で吐く flash ファイルではこの書き方は駄目・・・とかいうことなんかなあ?識者の人、是非ご教示ください。

まあ、一応、UIComponent クラスを使ったやり方で表示じたいは出来ているので、問題はないのだが、何故に定番のやり方が上手くいかないのかは気になる。

ちなみに、上手くいっているソースは以下のとおり。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    initialize="initProc()"
    layout="absolute" width="420" height="250"
    borderColor="#D7DBDD" color="#000000"
    backgroundGradientAlphas="[1.0, 1.0]"
    backgroundGradientColors="[#CAC8C8, #CAC8C8]">

    <mx:Script>

< ページ移動: 1 2 >


コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8