« Flash内の簡単なアクセス解析方法 | メイン | function関数の設定解除 »
March 11, 2007
Flickr API
前にAPIとFlashとの連携を勉強しようと思って、まずFlickr APIやってみました。
ここでAPI application key を取得する。
それから下記のコードでサムネイルの表示はされたのですが‥
マシーンにかなりの負担がかかって画像が表示されるのに時間がかかりすぎてるように思われます。
誰か解決方法知りませんか?
import com.xfactorstudio.xml.xpath.*;/* 写真を読む */
api_key = “API application key”;
var xml:XML = new XML();
xml.ignoreWhite = false;
selectButton.enabled = false;
var xmlUrlTmp = "http://api.flickr.com/services/rest/?
method=flickr.photos.search&api_key="+api_key+"&tags=";
var num:Number = 1; // 写真の初期番号
var photoUrl:Array = new Array();
var PhotoTitle:Array = new Array();
var PhotoID:Array = new Array();
var PhotoOwner:Array = new Array();
var setnum:Number = 1;
var paperview = 6;
xml.onLoad = function(success:Boolean) {
if(success){
var rootNode = xml.firstChild;
var nextNode = rootNode.firstChild.firstChild;
loadPhoto(); // 写真を読み込む
}};
function loadPhoto(){//ボタンアクション
for( num = 1; num <= paperview; num++){
photoUrl[ num ] = "http://static.flickr.com/"+ XPath.selectNodes(xml, "rsp/photos/photo["+num+"]/@server") + "/" + XPath.selectNodes(xml, "rsp/photos/photo["+num+"]/@id") + "_" + XPath.selectNodes(xml, "rsp/photos/photo["+num+"]/@secret") + "_s.jpg"; PhotoTitle[ num ] = XPath.selectNodes(xml, "rsp/photos/photo["+num+"]/@title"); PhotoOwner[ num ] = XPath.selectNodes(xml, "rsp/photos/photo["+num+"]/@owner"); PhotoID[ num ] = XPath.selectNodes(xml, "rsp/photos/photo["+num+"]/@id");
_root.loader.duplicateMovieClip( "loader" + num , num);
_root["loader" + num ].titleLabel.text = PhotoTitle[ num ];
//サムネイルの配置 _root["loader" + 1 ]._x = 3;_root["loader" + 1 ]._y = 3;
_root["loader" + 2 ]._x = 79;_root["loader" + 2 ]._y = 3;
_root["loader" + 3 ]._x = 3;_root["loader" + 3 ]._y = 79;
_root["loader" + 4 ]._x = 79;_root["loader" + 4 ]._y = 79;
_root["loader" + 5 ]._x = 3;_root["loader" + 5 ]._y = 155;
_root["loader" + 6 ]._x = 79;_root["loader" + 6 ]._y = 155;
//サムネイルのロード _root["loader" + num ].load_img.loadMovie( photoUrl[ num ] );
ThumBtn( _root["loader" + num ] ,num );
}} loadButton.onRollOver = function(){
this._alpha = 60;
} loadButton.onRollOut = function(){
this._alpha = 100;
} loadButton.onRelease = function(){ NoMovieClip(num);
num = 1; // 初期化
var requestUrl = xmlUrlTmp+tagLabel.text;
xml.load(requestUrl);
}
function ThumBtn( mc:MovieClip , ss:Number ){
mc.onRollOver = function(){
_root.loading_txt._alpha = 0;
this._alpha = 60;
}
mc.onRollOut = function(){
_root.loading_txt._alpha = 100;
this._alpha = 100;
}
mc.onRelease = function(){
var urltext:String = "http://www.flickr.com/photos/" + PhotoOwner[ ss ] + "/" + PhotoID[ ss ] + "/";
getURL(urltext , "_blank");
}}
function NoMovieClip(num:Number){
for( i = 0; i <= num ; i++ ){
_root["loader" + i ].removeMovieClip();
}
num = 1;
setnum = 1;
updateAfterEvent();
}
投稿者 ikoma : March 11, 2007 02:48 AM
トラックバック
このエントリーのトラックバックURL:
http://www.publicroots.com/cgi-bin/mt/mt-tb.cgi/3