您的位置:首页 > 移动开发 > Unity3D

Unity结合C++开发服务器实现多人游戏(一)

2017-02-13 15:59 423 查看
构建服务器

首先,让我们了解单人游戏代码。
利用W,A,S,D键控制玩家角色方向.

观察Unity GameObject对象的LocalPlayer.打开PlayerControl.cs添加到LocalPlayer,查看Update函数显示以下代码. 
void Update()
{
    // LocalPlayer GameObject and here
    if (Input.GetKey("a"))
    {
        carAngle -= carRotateSpeed * Time.deltaTime;
    }
.......
在此教程中,我们需要一个GUI从单人游戏访问服务器.在Unity场景中,让我们打开游戏对象
GameObject NetManager. NetManager中配备了NetManager.cs.同时打开OnGUI函数. 
    void OnGUI()
    {
        if (m_state == MyState.Disconnected || m_state == MyState.Connecting)
        {
            GUI.Label(new Rect(10, 10, 300, 30), "## ProudNet Sample ##");
...
此函数是连接服务器的图形用户界面.目前不进行任何操作.
函数中的m_state变量起初是Disconnected状态.连接服务器过程时转变为Connecting.连接成功转变为Connected.状态为Connected时GUI消失.以上所述是OnGUI函数的功能.
选择GameObject NetManager对象后,启用Inspector.
 

构建服务器

为访问客户端创建服务器.创建一个名为CharacterMove/SimpleServer的C++
Console Application,主函数main如下.
int main()
{
    SimpleServer server;
    server.Run();
 
    return 0;
}
来定义class SimpleServer类.然后,添加Run成员函数.
void SimpleServer::Run()
{
    string line;
    getline(std::cin, line);
}
实际上,现在的服务器不进行任何操作.
按需要选择平台 Android, Linux Server, iOS等.此讲座只针对Windows.

第二篇:Unity结合C++开发服务器实现多人游戏(二)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: