2010 年 1 月 13 日
AS3 describeTypeする
describeTypeはオブジェクトの構造をXML化してくれるらしいです。
import flash.utils.describeType; trace(describeType( obj ) );
なるほど。
describeTypeはオブジェクトの構造をXML化してくれるらしいです。
import flash.utils.describeType; trace(describeType( obj ) );
なるほど。
以下のようにすることで文字列のクラス名をgetDefinitionByNameに渡して
参照できるようです。
すごく基本的なことっぽいです。
import flash.utils.getDefinitionByName;
var ClassReference:Class; ClassReference=getDefinitionByName(class_name) as Class; var instance=new ClassReference();
名前でクラスを取得する場合
getDefinitionByName(class_name) as Class
とできるようです。
すごく基礎的なところなようです。
サンプル
package { import flash.display.MovieClip; import flash.utils.getDefinitionByName; public class Pref { var mc:MovieClip; var ClassReference:Class; function Pref(class_name) { ClassReference=getDefinitionByName(class_name) as Class; mc=new ClassReference() as MovieClip; } } }
これで
var hokkaidou= new Pref( "北海道" );
としてリンゲージしたmc「北海道」が利用できます。
備考ですが、変数名・リンゲージ名などは日本語が使えるんですね。
Timerの現在のカウント数のプロパティです。
なにかと使う場面が増えてきました。
var timer=new Timer(1000); timer.addEventListener(TimerEvent.TIMER,timerAction); timer.start(); function timerAction(event){ trace( event.target.currentCount ); }
TweenerをTimer代わりっぽく使うことができるんですね。
Timerより優れているのは、記述が簡単なのと、間隔をtransitionで変更できるところでしょうか。
import caurina.transitions.Tweener; import caurina.transitions.properties.DisplayShortcuts; DisplayShortcuts.init(); stage.addEventListener(MouseEvent.CLICK,function(){ Tweener.removeTweens(test_mc); Tweener.addCaller(test_mc, {onUpdate:myFunction, count:30, time:10, transition:"easeInExpo"}); }); function myFunction() { test_mc.scaleX=test_mc.scaleY=1; Tweener.addTween(test_mc,{time:1,_scale:2}); }
var duration=5000;//ミリ秒 var myTimer:Timer=new Timer(duration,3); //5秒おきに実行 myTimer.addEventListener(TimerEvent.TIMER, timerHandler); //3回終了した時に実行 myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerCompleteHandler); myTimer.start();
バイトアレイとは、ちょっと難しくて詳しくわからないのですが
そもそもどのパッケージにあるのかもわかりませんでしたので
メモしておきます。
cs4はactionscriptのリファレンスが使いにくいのでは。
import flash.utils.ByteArray;