home > Flickr API

Flickr API

March 11, 2007

前に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の読み込み
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();
}


【追記】

ちなみにサンプルはこれです。






ブックマークする hatena del.ico.us

このリストは、次のエントリーを参照しています: Flickr API:

» モンクレール ダウン from モンクレール ダウン
mtFlash: Flickr API [続きを読む]

トラックバック時刻: December 17, 2013 03:23 PM


Comments

Post a Comment






Remember personal info