[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
// その他の処理を省略 _y.resultSet に結果XMLが返ってきている前提
// Yahoo! APIからXMLの取得が完了した時
private function onReturnRequest(ev:Event):void {
// 名前空間を設定
default xml namespace = new Namespace('urn:yahoo:jp:auc:search');
// dataGridに渡す配列
var _dataList:Array = new Array();
// 結果XMLから必要な値だけ取り出して配列に格納
for (var i:int; i < _y.resultSet.Result.Item.length(); i++ ) {
_dataList.push(
{
AuctionID: _y.resultSet.Result.Item[i].AuctionID,
Title: _y.resultSet.Result.Item[i].Title,
CurrentPrice: _y.resultSet.Result.Item[i].CurrentPrice,
EndTime: _y.resultSet.Result.Item[i].EndTime
}
);
}
// データグリッドに渡す
this.grid.dataProvider = _dataList;
}
<!-- 省略 以下のようなデータグリッドを配置する -->
<mx:DataGrid id="grid">
<mx:columns>
<mx:DataGridColumn width="80" headerText="AuctionID" dataField="AuctionID" />
<mx:DataGridColumn width="240" headerText="Title" dataField="Title" />
<mx:DataGridColumn width="80" headerText="CurrentPrice" dataField="CurrentPrice" />
<mx:DataGridColumn width="160" headerText="EndTime" dataField="EndTime" />
</mx:columns>
</mx:DataGrid>
そこで、少し面倒でもそのためのクラスを定義すると、プロパティのデータ型が指定できます。さらに、型指定により処理が最適化されるので、プロパティへのアクセスは速くなります。
反転
カラーの各構成要素をカラースケール上の反対側の値に変更します。例えば、RGB カラーの R の値が 100 の場合に「反転」コマンドを実行すると、R の値は 155 に変更されます(255 - 100 = 155)。
補色
カラーの各構成要素を、選択したカラーの最大の RGB 値と最小の RGB 値の合計を元にして、新しい値に変更します。現在のカラーの RGB 値のうち最大と最小の値が合計され、その値から各構成要素の値を引いて、新しい RGB 値が生成されます。例えば、RGB 値がレッド 102、グリーン 153、ブルー 51 であるカラーを選択したとします。この場合、まず最大値である 153 と最小値である 51 を合計して 204 という値が算出されます。この値から既存のカラーの RGB 値がそれぞれ差し引かれます。つまり、新しいレッドの値は 204 - 102(現在のレッドの値)= 102、グリーンの値は 204 - 153(現在のグリーンの値)= 51、ブルーの値は 204 - 51(現在のブルーの値)= 153 となり、新しい補色の RGB 値が生成されます。
// --- 省略 ---
var urn:Namespace = new Namespace('urn:yahoo:jp:auc:search'); // XML中の名前空間オブジェクト作成
_xml = _y.resultSet.urn::Result.urn::Item[0].urn::Title; // 検索結果のタイトル
default xml namespace = new Namespace('urn:yahoo:jp:auc:search'); // XML中の名前空間オブジェクト作成
_xml = _y.resultSet.urn::Result.urn::Item[0].urn::Title; // 検索結果のタイトル
_xml = removeNs(_xml);
public function removeNs(_xml:XML):XML {
var _smlStr:String = _xml.toString().replace(new RegExp("(xmlns|xsi)[^\"]*\"[^\"]*\"", "gi"), "");
return new XML(_smlStr);
}
private var _foo:int = 128;
private var _bar:int = 256;
// foo の値を返すメソッド
public function getFoo():int {
return this._foo;
}
// bar の値に引数を代入するメソッド
public function setBar(_val:int):int {
this._bar = _val;
}
private var _foo:int = 128;
private var _bar:int = 256;
// foo の値を返すメソッド
public function get foo():int {
return this._foo;
}
// bar の値に引数を代入するメソッド
public function set bar(_val:int):int {
this._bar = _val;
}
var hoe:Hoe = new Hoe();
// get/set が無ければ private なのでアクセスできない
trace(hoe.foo); // 128
Hoe.bar = 512; // private の _bar に代入される
hoge('ま', 'み', 'む', 'め', 'も');
function hoge(...args:*):void {
// argsに各値はArray型に格納される
for each(var _s:String in args){
trace(_s);
}
}