In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

forked from: 練習中ver1.1.1

Get Adobe Flash player
by 5plus 28 Apr 2010
/**
 * Copyright 5plus ( http://wonderfl.net/user/5plus )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/sRwv
 */

// forked from delaemon5's 練習中ver1.1.1
package {
	import flash.display.Sprite;
	
	public class FlashTest extends Sprite {
	
	    	public function FlashTest () {
			var g:TwitterImgLoad = new TwitterImgLoad();
			addChild(g);
	   	}
	}
}

import flash.display.Sprite;
import flash.display.Loader;
import flash.display.Shape;
import flash.events.Event;	
import flash.events.IOErrorEvent;	
import flash.events.KeyboardEvent;	
import flash.events.MouseEvent;
import flash.events.TextEvent;
import flash.text.TextField;
import flash.text.TextFieldType;	
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.net.URLLoader;

class TwitterImgLoad extends Sprite { 

    	public function TwitterImgLoad ():void {

    		//検索APIにリクエストを投げる
		//http://search.twitter.com/crossdomain.xml上で許可をしているので
		//特に指定しなくても自動的に確認して、許可を得られる
		var myURLLoader:URLLoader = new URLLoader();
		
		myURLLoader.addEventListener(Event.COMPLETE,onCompleteXML);
		var xmlURL:String = "http://search.twitter.com/search.atom?lang=ja&page=1&rpp=100&q=";
		
		//encodeURIComponent()を使うことによって、#や日本語にも対応
		xmlURL += encodeURIComponent("twitter");
		myURLLoader.load(new URLRequest(xmlURL));
   }
    	    	
	private function onCompleteXML(e:Event):void {
					
		//XML型にキャスト
		var myXML:XML = new XML(e.currentTarget.data);
			
		//namespaceを設定
		default xml namespace = new Namespace("http://www.w3.org/2005/Atom");		//*2
    	
	    	var tfY:int = 0;
		
		//要素を取り出して、textFieldを作りならべる
		var itemLength:int = myXML.entry.length();
			
		for (var i:int = 0; i < itemLength; i++) {
			
			//xmlからlink,authorName,titleの各値を取得
			//var link:String = myXML.entry[i].link[0].@href;
			var link:String = myXML.entry[i].author.name;
			//var authorName:String = myXML.entry[i].author.name;
			//var title:String = myXML.entry[i].title;
						
			//アイコン画像のURLを取得
			var imgURL:String = myXML.entry[i].link[1].@href;
			
			//bmpフォーマットのアイコン画像を使っている人も少なくないため、Flashで使えるファイルの拡張子かどうかを判別
			var extention:String = imgURL.substr( -4);
			extention = extention.toLowerCase();
			if (extention != ".jpg" && extention != ".gif" && extention != ".png") {

				//Flashで使える画像の拡張子ではなかった場合にはデフォルトアイコンを指定
				imgURL = "http://s.twimg.com/a/1254440757/images/default_profile.png";	
			}
			
			//画像のファイル名が日本語などの規定外の文字である場合を考慮しエンコードする
			imgURL = encodeURI(imgURL);
			
			// 画像選択
			// imgURL = imgURL.replace(/_normal\./, "_mini\.");
			             
         	// URLRequestクラスを 読み込むパス tURL を元に作る。
         	var urImage:URLRequest = new URLRequest( imgURL );
         	                
       		// Loader(読込)オブジェクトを作成、設定。
         	var img:Loader = new Loader();
                           
        		 // URLRequestを読込に設定。
        		 img.load( urImage );
        		 img.contentLoaderInfo.addEventListener (Event.COMPLETE, onLoaded);  
     
             var row:int ;
             if( row < 10 ){
             	row++;
             }else{
             	row = 0;	
             }
             img.x= row * 50;
             img.y= Math.floor(i/10) * 50;
          	}
          	img.name=link; 	
        }
 
        private function onLoaded (e:Event):void {  
    			var img:Loader = e.currentTarget.loader
    			var sprite:Sprite = new Sprite();
    			
    			// button
          	sprite.addEventListener(MouseEvent.MOUSE_OVER,Over);
			sprite.addEventListener(MouseEvent.MOUSE_DOWN,Down);	
			sprite.addEventListener(MouseEvent.MOUSE_OUT,Out);
		
    			sprite.addChild (img);
			sprite.buttonMode = true;
    			sprite.width=50;
    			sprite.height=50;
    					    
			addChild (sprite);
		}  

		//マウスオーバー
		private function Over(event:Event):void{
			event.target.alpha = 0.7;
		}

		//マウスアウト
		private function Out(event:Event):void{
			event.target.alpha = 1;
		}
          	       	          	
        //クリック
		private function Down(event:Event):void{
			
			//URLRequestの設定
			var Url:URLRequest = new URLRequest("http://www.twitter.com/"+event.currentTarget.name);
			
			//ターゲット条件を指定
			var target:String = "_blank";
			//指定したURLに飛ばす
			navigateToURL(Url,target);
		}
}