Код AS3:
public class OnlineData extends EventDispatcher
{
public const DATA_LOADED:String = "dataLoaded";
private var _polyWidth:int;
private var _polyHeight:int;
private var myLoader:URLLoader;
public function OnlineData()
{
}
public function load():void
{
var json_URL:String = "http://***";
var myJSONURL:URLRequest = new URLRequest(json_URL);
myLoader = new URLLoader(myJSONURL);
myLoader.addEventListener(Event.COMPLETE, jsonLoaded, false, 0, true);
}
public function get polyWidth():int
{
return _polyWidth;
}
public function get polyHeight():int
{
return _polyHeight;
}
private function jsonLoaded(event:Event):void
{
myLoader.removeEventListener(Event.COMPLETE, jsonLoaded);
var myJSON:String = String(myLoader.data);
trace (myJSON);
var json_data:Object=com.adobe.serialization.json.JSON.decode(myJSON);
//проверка, есть ли такие свойства
if (json_data.hasOwnProperty("width") && json_data.hasOwnProperty("height"))
{
_polyWidth = int(json_data["width"]);
_polyHeight = int(json_data["height"]);
trace (_polyWidth);
dispatchEvent(new Event(DATA_LOADED));
}
}
}
В "другом классе" (пример использования):
Код AS3:
private var _onlineData:OnlineData = new OnlineData();
_onlineData.addEventListener(OnlineData.DATA_LOADED, onDataLoaded);
_onlineData.load();
//...
private function onDataLoaded(event:Event):void
{
trace("- - - - - - - - - - - - - - -");
trace(_onlineData.polyWidth);
trace(_onlineData.polyHeight);
}