2007年06月03日

as3なXMLの書き方

as3からXMLへのアクセスが便利になりました(あまりAS2を知らないので失礼)。以下のようなXMLがあったとします。
<?xml version="1.0" encoding="utf-8"?>
<member>
	<person>
		<name>白石</name>
		<age>16</age>
	</person>
	<person>
		<name>谷口</name>
		<age>17</age>
	</person>
	<person>
		<name>マッガーレ</name>
		<age>16</age>
	</person>
</member>
as3からfor each文でループができるようになりました。 リストを渡すと要素ごとループで扱えます(サンプル参照) ついでに画像やファイルのロードに flash.net.URLLoader; flash.net.URLRequest; を経由して、ロード処理をするようになったっぽいです。必要最低限ないベントを用意されているので、便利なようだけど、プログラム書く量が少し増えたような・・・、まぁ多分便利なんでしょう。 FlexのデータグリッドなんかはXMLを直接渡すとそのまま表にしてくれたり便利なんですが、個別に扱いたい場合には読み込んだXMLから、memberXML..person[i].ageとかで要素まで、アクセスできます。ちなみにテキストの場合はmemberXML..person[1].name..text()とかでとってこれます。昔よりはシンプルにアクセスできるようになりましたねぇ。 サンプルソースを以下に示します。続きを読む
posted by ヤミタケ at 01:16| Comment(0) | TrackBack(0) | actionscript | このブログの読者になる | 更新情報をチェックする

2007年05月28日

as3 getter/setterとか基本事項系

google-code-prettifyテストのためにくだらない記事を書きます。
actionscript3今のこのブログだとソースがうまく表示できないのでいったん、ノーマルにもどしてます。原因追求中、だれか解決求む。google-code-prettifyのprettify-smallの方を使っていたのが原因でした。

最近、actionscript2から3への大きな転換期を迎えています。レスポンス的にはas3の方が断然早いのですが、FlashPlayerは9からしか対応していないし、as2と書き方が少しだけちがうのでとまどうかもしれません。今回はactionscriptを書く上で基本的といかちょっととだけほかの言語と違う点を上げます。
 やさしいJavaをやった人はおなじみCarクラスを作ってみました。Getter,Setterに注目してください。javaとか使ってる人はprivateな変数にはgetNum,setNumなどのメソッドを作ってアクセスするのが、普通のやり方ですが(普通にasでもそう書いてたw)、


package
{
public class Car
{
private var num:Number;
private var gas:Number;

/** コンストラクタ*/
public function Car(){
num=0;
gas=0;
}
// ____________________Setter
public function set Num(num:Number):void{
this.num = num;
}
/**必ずしもおなじ変数名の必要はない*/
public function set Gasset(gas:Number):void{
this.gas = gas;
}

// _____________________Getter
public function get Num():Number{
return num;
}
public function get Gaskamo():Number{
return gas;
}
// _____________________toString
public function toString():String{
return "num:"+this.num +" gas:"+this.gas;
}
}
}
続きを読む
ラベル:as3 actionscript
posted by ヤミタケ at 23:45| Comment(0) | TrackBack(0) | actionscript | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。