while(numChildren > 0) { removeChildAt(0); }
2009-09-30
2009-09-18
Progressionでステージのサイズを取得する
public function IndexScene() { progression.stage.addEventListener(Event.RESIZE, onResizeFunc); } private function onResizeFunc(event:Event):void { trace(progression.container.stage.stageWidth); trace(progression.container.stage.stageHeight); }
2009-09-16
イベントリスナ登録時に引数を渡す
// Aパターン mc.addEventListener(MouseEvent.CLICK, onClick("Test OK.")); function onClick(str:String) { return function(event:MouseEvent) { trace(str); } }
// Bパターン mc.str = "Test OK."; mc.addEventListener(MouseEvent.CLICK, onClick); function onClick(event:MouseEvent):void { trace(event.target.str); }
2009-09-14
SoundChannelのSOUND_COMPLETEに注意
SoundChannelの再生を停止すると、次に再生した際にSOUND_COMPLETEが発生しない。
従って、イベントリスナを再登録する必要がある。
従って、イベントリスナを再登録する必要がある。
snd:Sound = new TestSound(); sch:SoundChannel = new SoundChannel(); public function sndPlay():void { sch = snd.play(); sch.addEventListener(Event.SOUND_COMPLETE, onSndComplete); } public function sndStop():void { sch.removeEventListener(Event.SOUND_COMPLETE, onSndComplete); sch.stop(); } private function onTimerComplete(event:TimerEvent):void { trace("Sound Complete!"); }
2009-09-10
Tweenerの終了時に処理を実行する
import caurina.transitions.Tweener; Tweener.addTween(this, {time:1, transition:"easeOut", onComplete:onCompleteTest, onCompleteParams:["test", 100]}); function onCompleteTest(str:String, num:uint):void { trace(str); trace(num); }
タイマー
1秒毎にイベントを発生させる。
var timer:Timer = new Timer(1000); timer.addEventListener(TimerEvent.TIMER, timerFunction); timer.start(); function timerFunction(event:TimerEvent):void { // code here }
XMLをパース
↓こんなXML(test.xml)を作って、
Flashでパースする。
<?xml version="1.0" encoding="UTF-8" ?>Apple MacBook Pro Apple iPhone 3G Apple Xcode
Flashでパースする。
var urlLoader:URLLoader = new URLLoader(); var testXML:XML; var urlRequest:URLRequest = new URLRequest("test.xml"); urlLoader.load(urlRequest); urlLoader.addEventListener(Event.COMPLETE, xmlLoaded); function xmlLoaded(event:Event) { testXML = XML(urlLoader.data); var itemNum = testXML.item.length(); for each (var element:Object in testXML.item) { trace(element.maker); trace(element.product); trace(element.use); } }
正規表現
メールアドレスと電話番号の書式をチェック。
var emailPattern:RegExp = /([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+@([-0-9a-zA-Z]+[.])+[a-zA-Z]{2,6}/; var phonePattern:RegExp = /^\d{2,3}-\d{1,4}-\d{4}$/; var mailCheck:Boolean = emailPattern.test("aaa@bbb.ccc"); var phoneCheck:Boolean = phonePattern.test("03-1234-5678");
メール送信スクリプトにクエリを送る
var mailVar:URLVariables = new URLVariables(); mailVar.email = "aaa@bbb.ccc"; mailVar.subject = "Test"; mailVar.body = "Hello, world!"; var mailReq:URLRequest = new URLRequest(); mailReq.url = "sendmail.php"; mailReq.data = mailVar; mailReq.method = URLRequestMethod.POST; sendToURL(mailReq);
2009-09-09
ボタンのイベントリスナを一括登録
ボタンが30個とかのときに便利。
// ボタンの数だけループしてイベントリスナを登録 for (var i:uint = 1; i < 3; i++ ) { this["btn" + i].addEventListener(MouseEvent.CLICK, onClick); } // event.targetで処理を分岐 function onClick(event:MouseEvent):void { switch (event.target) { case btn1: // break; case btn2: // break; case btn3: // break; default: // } }
Tweenerで色をトゥイーン
import caurina.transitions.Tweener; import caurina.transitions.properties.ColorShortcuts; ColorShortcuts.init(); Tweener.addTween(_mc, {_color:0x264292, time:0.5, transition:"linear"});※色を戻す時はnull
Tweenerでトゥイーン
毎回忘れるのでコピー用に。
import caurina.transitions.Tweener; Tweener.addTween(_mc, {x:100, time:0.5, transition:"easein"});
2009-09-01
エンコーディング変換
※Windowsでは文字化けするので注意。
var eucStringUrl = new URLRequest("euc.txt"); var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.BINARY; loader.addEventListener(Event.COMPLETE, loaderComplete); loader.load(eucStringUrl); function loaderComplete(event:Event):void { var bytes:ByteArray = event.target.data; var utf8String:String = bytes.readMultiByte(bytes.length, "euc-jp"); trace(utf8String); }
Subscribe to:
Posts (Atom)