ActionScript

ActionScript の XML のアクセス

XML データは URLLoader を使って適当に読み込もう。 <member> <person> <name>Alice</name> <age>20</age> </person> <person> <name>Bob</name> <age>22</age> </person> </member> 使いかたはこう。 var member : XML = new XML(loader.data); // member.member.person.name じゃないよ! trace(member.person.name.toString());

文字列の折り返し

Flex で文字列を折り返すプロパティは wordWrap。これを true にしておくと文字列が長過ぎた場合に折り返してくれる。 DataGrid の中の DataGridColumn で使う場合は注意が必要で、もし最初の1行目の要素が折り返さないと、それ以降の行で文字列が長くなって…

ふりがなクラス

ふりがなを使えるようにしたラベルっぽいクラス。HBox とかに適当に addChild したオブジェクトの x や y が設定されなかったので、文字数とかから無理矢理場所を計算したりしている。書くのに無駄に時間がかかってしまった…。しかも後半は疲れてあまり考え…

JavaScript から ActionScript 内の関数を呼び出し

JavaScript から ActionScript も、ActionScript から JavaScript も可能だが、とりあえず JavaScript から ActionScript の関数を呼び出す方法をメモ。 まずは ActionScript 側で、JavaScript から呼び出せるようにしたい関数を登録する。以下のように addC…

Mac での MouseEvent.MOUSE_WHEEL

マウスホイールを回してもイベントが発生しないのが問題なんだと思っていたのだが、どうやら自分で MOUSE_WHEEL イベントを発生させてもうまく動作しないっぽい。嘘でした。ちゃんと動作しました。 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init();"> <mx:Label id="counter" text="0" /> <mx:Script> </mx:script></mx:label></mx:application>

ActionScript で、イベントを自分で発生させる

自分自身に対して click イベントを発生させるには以下のようにする。 this.dispatchEvent(new MouseEvent(MouseEvent.CLICK));

mxml がよくわかんない

mxml って、単にクラス定義の別のやりかたなのかと思ってたんだけど、違うんだろーか。 <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:VBox textAlign="center" id="hello"> <mx:Label id="statement" click="test(null);"> </mx:Label> </mx:VBox> <mx:Script> </mx:script></mx:canvas>

ActionScript

ActionScript の map 関数はなんと引数が3つ。その要素と、インデックスと、配列そのもの。 var x : Array = [1,2,3]; x.map(function(elem:*, idx:int, arr:Array) : Array { ... });