2014-01-16 42 views
0

我是一個C++程序員,他被迫對現有的AS3遊戲進行一些調整,以使用kongregate api進行貨幣化和其他操作。Actionscript 3(Kongregate?)服務器端調用

我對AS3語法沒有太大麻煩,但是現在在kongregate文檔中,它指的是使用奇怪http POST語法的「服務器端」調用。就像這樣:http://developers.kongregate.com/docs/rest/use-item

任何人都可以指出它在做什麼(不是實際的效果,這是相當好的文檔覆蓋)?它是否使用其他語言?我不知道的AS3的一部分(這看起來不像高級OO語言)。而這意味着服務器端?如何爲我構建到SWF文件中的應用程序編寫服務器代碼並上傳到服務器?

我覺得有一大塊東西我錯過了能夠研究發生了什麼,但是我看到每個人都在談論「服務器端」作爲給定的評論,而沒有給我任何指向我應該知道實際使用它的基礎的指針。

感謝, 海梅

回答

2

我的理解是,文檔會向您展示API期待什麼(在HTTP請求而言),它是由你來實現它在Actionscript中。

如果是這種情況,可以使用URLLoader類。

基本上,你會做這樣的事情:

var url:String = "http://www.kongregate.com/api/use_item.json"; 
var request:URLRequest = new URLRequest(); 
request.url = url; 
request.method = URLRequestMethod.POST 
request.data = new URLVariables(); 
request.data.api_key = "MyApiKey"; 
// etc... 
var loader:URLLoader = new URLLoader(); 
loader.dataFormat = URLLoaderDataFormat.TEXT; 
loader.addEventListener(Event.COMPLETE,handleComplete); 
loader.load(request); 

function handleComplete(e:Event):void { 
    var loader:URLLoader = e.currentTarget as URLLoader; 
    trace(loader.data); // a string containing the service response 
} 

你也應該處理異步錯誤(這是我此示例中中省略)。你應該做的另一件事是將JSON字符串解碼爲一個對象,以使數據更容易處理。我建議你谷歌的一些圖書館,有一對夫婦(離我的頭頂,as3corelib,這是由Adobe推舉,有一個JSON解析器)。

+1

不要忘記設置'request.method = URLRequestMethod.POST' –

+0

確實,只是編輯了答案。 –