Forked from: muramatsut's forked from: flash on 2010-6-29 diff:6 forked from: forked from: flash on 2010-6-29 @author エスケイさんのコードをお借りしました muramatsut forked:1favorite:0lines:111license : MIT License modified : 2010-06-29 19:24:43 Embed Tweet // forked from hacker_q2_kpljv's forked from: flash on 2010-6-29 // forked from hacker_q2_kpljv's flash on 2010-6-29 /** * @author エスケイさんのコードをお借りしました */ package { import flash.display.Stage; import flash.display.Sprite; import flash.text.TextField; import flash.events.Event; public class FlashTest extends Sprite { private var twitter:Twitter; private var textField:TextField; public var fukidasi1:Fukidasi; public var canvas1:Sprite; public var testcanvas:Sprite; public function FlashTest() { // write as3 code here.. textField = new TextField(); textField.text = 'log Here...'; textField.width = stage.stageWidth; textField.height = stage.stageHeight; textField.multiline = true; textField.wordWrap = true; addChild(textField); twitter = new Twitter(); twitter.searchUserTimeline('muramatsut'); twitter.addEventListener(Twitter.RESULT_PARSED, function(e:Event):void { textField.text = twitter.result.toString(); }); //TextFiledが先にaddChildされてるからひょうじされないのかな? fukidasi1 = new Fukidasi(); addChild(fukidasi1); } } } import flash.display.MovieClip; import flash.display.DisplayObjectContainer; import flash.display.DisplayObject; import flash.events.Event; import flash.events.EventDispatcher; import flash.events.IOErrorEvent; import flash.events.SecurityErrorEvent; import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLRequestHeader; import flash.net.URLRequestMethod; import flash.net.URLVariables; //twitterでついーとを取得するクラス class Twitter extends EventDispatcher { private var atomNs:Namespace; private const URL_TWITTER_SEARCH_ATOM:String = 'http://search.twitter.com/search.atom'; private var urlLoader:URLLoader; private var urlRequest:URLRequest; private var urlRequestMethod:URLRequestMethod; private var urlRequestHeader:URLRequestHeader; private var urlVariables:URLVariables; private var _result:Array; static public const RESULT_PARSED:String = 'result_parsed'; public function Twitter() { atomNs = new Namespace('http://www.w3.org/2005/Atom'); _result = new Array(); } public function searchUserTimeline(userid:String):void { urlLoader = new URLLoader(); urlRequest = new URLRequest(URL_TWITTER_SEARCH_ATOM); urlVariables = new URLVariables(); urlVariables.q = 'from:' + userid; urlRequest.data = urlVariables; try{ urlLoader.load(urlRequest); } catch (e:Error) { //error trace("hoge"); } urlLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); urlLoader.addEventListener(Event.COMPLETE, completeHandler); } private function completeHandler(e:Event):void { default xml namespace = atomNs; var atomData:XML = new XML(urlLoader.data); for each(var tweet:String in atomData.entry.content) { _result.push(decodeURIComponent(tweet)); } dispatchEvent(new Event(RESULT_PARSED)); } private function securityErrorHandler(e:SecurityErrorEvent):void { //error trace("Security Error..."); } private function ioErrorHandler(e:IOErrorEvent):void { //error trace("ioError"); } public function get result():Array { return _result; } } import flash.display.Sprite; //吹き出しを生成するクラス class Fukidasi extends MovieClip{ public var fukidasi:Sprite = new Sprite(); public function Fukidasi(){ var canvas:Sprite = new Sprite(); fukidasi = createFukidasi(canvas); addChild(fukidasi); } private function createFukidasi(canvas:Sprite):Sprite{ canvas.graphics.beginFill(0xff0000); canvas.graphics.drawRoundRect(100,100,50,20,5,5); canvas.graphics.endFill(); return canvas; } } Code Fullscreen Preview Fullscreen question text decodeURIComponent multiline XML trace SecurityErrorEvent SecurityErrorEvent.SECURITY_ERROR URLVariables Namespace SecurityErrorEvent.COMPLETE dispatchEvent namespace wordWrap Error height width toString addEventListener addChild TextField sort new page view favorite forked pv166 forked from: forked from: fork.. muramatsut forked:0 favorite:0lines:100 (diff:183)