游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4985|回复: 0

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

[复制链接]

29

主题

38

帖子

384

积分

中级会员

Rank: 3Rank: 3

积分
384
QQ
发表于 2017-2-13 16:37:15 | 显示全部楼层 |阅读模式
构建服务器
  
首先,让我们了解单人游戏代码。
  
利用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++开发服务器实现多人游戏(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-25 00:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表