2/4 Wonderfl本サンプル Flickrの画像を表示

Flickrの画像を表示

前回のtwitterのサンプルに引き続きFlickrの画像を表示する「Wonderfl本」のサンプルを勉強していきます。

[cc lang="actionscript"] public function Main() { var myLoader:Loader = new Loader(); var myURLRequest:URLRequest = new URLRequest("http://farm4.static.flickr.com/3467/3828917519_d209a026fb_o.jpg"); //LoaderContextを使うと、drawできるようになる。ただしcrossdomain.xmlで許可されている場合のみ //これ→http://farm4.static.flickr.com/crossdomain.xml var myLoaderContext:LoaderContext = new LoaderContext(true); myLoader.load(myURLRequest , myLoaderContext); myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); //Loaderごとステージに置く例 addChild(myLoader);

         //ステージ上のオブジェクト全てにフィルターをかける
        filters = [new DropShadowFilter()];

         //flickr上の画像のページへのリンク
        addEventListener(MouseEvent.CLICK, CLICK);
     }

[/cc]

[cc lang="xml"] <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> // どのドメインでもアクセスを許可すると記載があります。 <allow-access-from domain="*" /> <site-control permitted-cross-domain-policies="master-only" /> </cross-domain-policy> [/cc]

まずはお馴染み「URLLoader」「URLRequest」を使い画像を読み込んでいます。 今回はすでにcrossdomain.xmlでアクセス許可が出ていることがわかっているので、LoaderContext()だけで大丈夫。

[cc lang="actionscript"] private function onComplete(e:Event):void { //new LoaderContext(true)にしているのでbitmap化して変形できる var myBitmap:Bitmap = e.target.content; var myBitmapData:BitmapData = new BitmapData(myBitmap.width, myBitmap.height); myBitmapData.draw(myBitmap); var mySprite:Sprite = new Sprite(); mySprite.graphics.beginBitmapFill(myBitmapData); mySprite.graphics.drawRoundRect(210, 210 , 240, 240, 100, 100); mySprite.graphics.drawCircle(330, 330, 90); mySprite.graphics.drawCircle(330, 330, 70); addChild(mySprite); } [/cc]

Bitmapデータに変換して表示していて画面上に設置している。

[cc lang="actionscript"] drawRoundRect(int x, int y, int width, int height,int arcWidth, int arcHeight) [/cc]

角の丸い図形を描くdrawRoundRect(); 通常の四角はdrawRect();

[cc lang="actionscript"] filters = [new DropShadowFilter()];

//DropShadowFilter()のデフォルト値 DropShadowFilter(distance:Number = 4.0, angle:Number = 45, color:uint = 0, alpha:Number = 1.0, blurX:Number = 4.0, blurY:Number = 4.0, strength:Number = 1.0, quality:int = 1, inner:Boolean = false, knockout:Boolean = false, hideObject:Boolean = false) [/cc]

DropShadowFilter() クラスはドロップシャドウを付け加えるメソッドです。 何も引数をしていしていないので、デフォルト値が設定されています。

今回の例ではステージ全体にドロップシャドウをかけています。

参考文献