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:
Comments (Atom)