‘Loader’ タグのついている投稿

AS3:Twitterのcrossdomain.xmlが変わった?

2010年11月4日 木曜日

先日(10/19/29)までは、loaderで取ってきていたアイコンが
複製出来たのですが、突如できなくなった。
s.twimg.comのクロスドメインポリシーが変わったらしい。
 
出来ていた頃のcrossdomain.xmlを見ていなかったのが不覚なんですが、
これ変わったんですよね?
 
 
ちなみに、特に書かれていなかったけど、これに関連すると思われる。
# Twitter、新ロゴおよび新ガイドライン発表——「Tweet」利用にも制限
http://www.itmedia.co.jp/news/articles/1011/01/news022.html
 
 

AS3:Twitterの画像を読み込むときの注意点

2010年9月11日 土曜日

 
# 外部ドメインからロードした画像に対しては、
# ピクセルデータにアクセスできない
 
 
これはトリッキーだ!と思った。
 
FlashPlayerでのプレビュー時にはこの問題は起きない、
ブラウザで見たときに初めて発動する。
 
 
発動条件:
 # 読み込んだ画像をBitmapDataとして使いたい
 
 
今回は、Loaderで読み込んだ画像を使いまわしたい、という
ミッションのためにその読み込んだ画像をBitmapDataで
保持する必要があった。
# そもそもLoaderやMovieClipはコピー出来ないからこんなことに…
 
loaderをそのままMovieClip等にaddChildすれば問題ない。
問題は、loader.content を読み出す時だ。
 
 
今回の参考サイト:テック煮ブログ
AS で別ドメインの画像を読み込むときの注意点CommentsAdd Star
# こちらのサイトの “セキュリティサンドボックス侵害への対応”
 
詳しくは上記サイトを参考にしてもらうとして、
 
とりあえずTwitterのプロフィール画像を読み込むのであれば、
LoaderContext の checkPolicyFile を true にすることで解決。

function loadStart():void
{
	// LoaderContextを準備
	var context:LoaderContext = new LoaderContext(true);

	var loader:Loader = new Loader();
	var req:URLRequest
	= new URLRequest("http://www.example.com/sample.png");

	loader.load(req, context); // 第2引数に context を渡す

	loader.contentLoaderInfo
			.addEventListener(Event.COMPLETE,onLoaded);
}

function onLoaded(e:Event):void
{
	var bmp:Bitmap = Bitmap(e.target.content);
}

 
ご参考までに。