[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
var so:SharedObject = SharedObject.getLocal('mySO'); // 自動的にファイルが生成される
if(so.data.test == true){
trace('so.test:True');
so.clear(); // SharedObject.data の内容をクリアする
}else{
so.data.test = true; // dataプロパティに動的にセットする
// so.setProperty("test", true); setPropertyメソッドでもセットできる。
so.flush(); // 明示的にデータを書き込む
trace('so.test:False');
}
[SWF (backgroundColor="#FFFFFF", frameRate="60", width="640", height="480")]
そこで、少し面倒でもそのためのクラスを定義すると、プロパティのデータ型が指定できます。さらに、型指定により処理が最適化されるので、プロパティへのアクセスは速くなります。
// --- 省略 ---
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);
}
}
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
/**
* http://developer.yahoo.co.jp/webapi/auctions/auction/v2/search.html
*/
public class Main extends Sprite
{
private var _urlReq:URLRequest;
private var _urlLoader:URLLoader;
private var _reqUrl:String = 'http://auctions.yahooapis.jp/AuctionWebService/V2/search';
private var _appId:String = '-----'; // アプリケーションIDを取得して、ココにセットする。
private var _params:Object = {
query:'windows',// 検索文字列
type :'all', // 指定検索の種類 all, any
category:'', // カテゴリID
page:'1', // ページ番号
sort:'end', // ソート項目 end, img, bids, cids, bidorbuy
order:'a', // ソートの順番 a, d
store:'0' // 商品の出品区分 0, 1, 2
// ------省略
};
private var _xml:XML;
public function Main():void
{
// パラメータ付きリクエストURL生成
_reqUrl += '?appid=' + _appId;
for (var s:String in _params ) {
if (_params[s] == '') { continue; }
_reqUrl += '&' + s + '=' + _params[s]
}
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(ev:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
_urlReq = new URLRequest(_reqUrl);
_urlReq.method = URLRequestMethod.POST;
_urlLoader = new URLLoader(_urlReq);
_urlLoader.addEventListener(Event.COMPLETE, onLoadedXML);
}
private function onLoadedXML(ev:Event = null):void {
_xml = new XML(_urlLoader.data);
trace(_xml);
}
}
}