2:编写虚幻引擎中的UC和C++代码

Posted on 2016-03-03 16:12 neocsl 阅读(...) 评论(...) 编辑 收藏

  经过几天的努力终于在UDKGame环境下集成了自己的工程,接下来为了扩展我们的网络端必须进行native代码的书写。在这之前有以下两条道路可以摸索:

  1.冷欺花前辈基于winsocket完成了一个UDK广播,让我有了一个好的开始。

  2.UnrealScript基于FSocket实现了一个TCPLink类供我们直接使用,然而这个类多用于处理HTTP请求,由于效率的问题。我们最终还是决定基于FSocket的方式进行扩展实现自己的网络数据访问。

 

  在这之前有几点关于编写native code的几点需要熟悉。然后在下一章开始基于FSocket对网络端的请求链接进行实现。包括:

  - 根据我们定制的协议解析。

  - 发送字段看服务器端的验收。

 

  第一种方法,自动生成头文件的UC代码。这种代码在编写好之后会自动生成指定目录下的头文件,然后我们只需要实现必要的函数即可。

class ArtSocketObject extends Object Native(Socket);

  上面的代码将会自动生成ArtGameSocketClasses.h的头文件,对其进行了宏定义。我们只需要在一个类中对其进行实现即可。

  注意的是在实现这个类的头部应该包含,ArtGameSocketClasses.h以及进行宏定义声明。

  IMPLEMENT_CLASS(UArtSocketObject);

 

  如果这里面有native函数,将会这么做

native string function NativeTest(); 

  在实现类中

FString UArtSocketObject::NativeTest()
{
  ...
}