Actionscript 3(Kongregate?)服务器端 - 服务器端调用

时间:2014-01-16 14:37:23

标签: actionscript-3 flash post

我是一名c ++程序员,他被迫对现有的AS3游戏进行一些调整,以便使用kongregate api进行货币化等等。

我对AS3语法没有什么大麻烦,但是现在在kongregate文档中它指的是使用奇怪的http POST语法的“服务器端”调用。这样的事情:http://developers.kongregate.com/docs/rest/use-item

有人能指出我正在做什么(不是实际效果,文档很好地涵盖了这些效果)?它是否使用其他语言? AS3的一部分,我不知道(看起来不像高级OO语言)。它是什么意思服务器端?如何为我构建到SWF文件并上传到服务器的应用程序编写服务器代码?

我觉得有一大部分我缺少能够研究正在发生的事情,但是我所看到的评论中的每个人都谈到“服务器端”作为一个给定的,而没有给我任何指向我应该知道实际使用它的基础知识。

谢谢, 海梅

1 个答案:

答案 0 :(得分: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字符串解码为Object,以便更轻松地处理数据。我建议你去浏览一些图书馆,那里有几个(我的头顶,as3corelib,由adobe赞助,有一个JSON解析器)。