Node.js服务器进行 Unity Multiplayer游戏开发

孙广东   2016.5.4

如何用一个专用的服务器驱动的Node.Js 创建我们自己的多人游戏。这将建立在 websocket的实时响应的多人游戏。   具体逻辑自己 编写吧

首先在 AssetStore中搜索  Web   Socket 就看到Unity官方的 插件‘

https://www.assetstore.unity3d.com/cn/#!/content/38367

然后介绍一个 开源库 Socket IO

https://www.assetstore.unity3d.com/en/#!/content/21721

这有片文章对这两个的对比

https://gist.github.com/zeusdeux/5491cff541fb4ac4c142

然后在项目中导入   SocketIO

下载开发工具   Brackets

在项目的Asset 文件夹同级新建  目录 server  , 然后使用 Brackets 打开这个文件夹。

我们搜索 Socket IO , 进入地址为: http://socket.io/get-started/chat/

http://socket.io/docs/#  文档可以查看各种API。

来到这个server  文件夹下 进入CMD  , 然后输入

然后就在项目中出现了

还要安装 :

客户端连接服务器

// require()异步加载socket.io,  然后执行回调函数构造一个IO

var io = require(‘socket.io‘)(process.env.PORT || 3000);

// 输出一个Log

console.log(‘server started‘);

同样在控制台   启动服务器, ip:localhost, port:3000        输入:

Node  中添加这样代码:

io.on(‘connection‘,function(socket){

   console.log(‘客户端被连接‘);

})

unity中新建一个main 场景,  新建一个对象 命名 NetWork  然后添加脚本 SocketIOComponent.cs  然后设置 端口号为咱们代码中的3000。

然后我们Cmd启动  Node服务器,  然后在play model Unity编辑器。 会看到输出:

??

时间: 2024-10-13 16:16:24

Node.js服务器进行 Unity Multiplayer游戏开发的相关文章

Node.js服务器原理详解

       本文和大家分享的是Node.js服务器原理相关内容,一起来看看吧,希望对大家有所帮助. web应用搭建需要什么条件? web应用,它需要一个客户端.还需要一个服务器.客户端这边,不需要我们去开发,我们直接通过浏览器就可以实现.而服务端这边需要我们自己开发.我们都知道,我们打开浏览器,比如说我们访问麦子学院.我们打开了这个网站过后,那么这个网站可以显示一个对应的网页.这个网页底层,它应该是一些html代码和css样式+我们的js动态效果来组成我们这个页面的.这些东西,我们要通过客户端

【Unity NGUI游戏开发之五】多分辨率下完美分布式协同开发

NGUI多分辨率下完美分布式协同开发:不同分辨率下相对于屏幕坐标的Perfab数据不再丢失 NGUI多分辨率下完美分布式协同开发不同分辨率下相对于屏幕坐标的Perfab数据不再丢失 开发问题 原因分析 案例 完美过程 案例分析 实现过程 开发问题: NGUI分布式开发中,用git管理资源,团队成员每人负责一个perfab,所有现对于屏幕大小的相对位置的perfab因为引用了perfab外的数据,导致perfab的Anchor锚点数据丢失,最后的perfab集成后,必须重新设置,导致开发成本大幅度

?Unity 2D游戏开发教程之2D游戏的运行效果

Unity 2D游戏开发教程之2D游戏的运行效果 2D游戏的运行效果 本章前前后后使用了很多节的篇幅,到底实现了怎样的一个游戏运行效果呢?或者说,游戏中的精灵会不会如我们所想的那样运行呢?关于这些疑问,会在本节集中揭晓. (1)单击Unity上方,工具栏里的播放按钮,开始运行当前的游戏,默认精灵当前进入的是Idle动画状态,如图1-34所示. 图1-34  Idle状态 (2)当读者按下键盘上的左.右方向键,或者A.D键的时候,精灵会进入Walking动画状态,并且会向左或者向右移动,如图1-3

Unity 2D游戏开发教程之为游戏场景添加多个地面

Unity 2D游戏开发教程之为游戏场景添加多个地面 为游戏场景添加多个地面 显然,只有一个地面的游戏场景太小了,根本不够精灵四处活动的.那么,本节就来介绍一种简单的方法,可以为游戏场景添加多个地面.具体的操作方法是: (1)在Project视图里,新建一个文件夹,命名为Prefabs.然后将Hierarchy视图里的Platform对象,拖动到Prefabs文件夹中,如此一来就可以生成一个同名的预置资源,如图2-11所示. 图2-11  通过拖动对象到Project视图的方式,新建预置资源 (

Unity 2D游戏开发教程之精灵的死亡和重生

Unity 2D游戏开发教程之精灵的死亡和重生 精灵的死亡和重生 目前为止,游戏项目里的精灵只有Idle和Walking这两种状态.也就是说,无论精灵在游戏里做什么,它都不会进入其它的状态,如死亡.于是我们发现游戏里的精灵,即使是跳入“万丈深渊”,也依然存活,显然这种游戏逻辑无法让人接受.因此,本节就来说明为精灵添加死亡和重生这两种状态的方法,并使用脚本实现这两种状态的逻辑.具体的实现步骤如下: (1)在Hierarchy视图里,新建一个Empty对象,并命名为Death Trigger,设置其

Unity 2D游戏开发教程之游戏中精灵的跳跃状态

Unity 2D游戏开发教程之游戏中精灵的跳跃状态 精灵的跳跃状态 为了让游戏中的精灵有更大的活动范围,上一节为游戏场景添加了多个地面,于是精灵可以从高的地面移动到低的地面处,如图2-14所示.但是却无法从低的地面移动到高的地面,因为当前的游戏精灵只能左右移动,即left和right.为了解决这个问题,本节就来为精灵添加跳跃状态.   图2-14  精灵从一个地面移动到另一个地面 (1)如果要为精灵添加跳跃状态,即jump,就不得不再引入其它状态: q   landing:用于表示精灵接触到地面

Unity 2D游戏开发教程之使用脚本实现游戏逻辑

Unity 2D游戏开发教程之使用脚本实现游戏逻辑 使用脚本实现游戏逻辑 通过上一节的操作,我们不仅创建了精灵的动画,还设置了动画的过渡条件,最终使得精灵得以按照我们的意愿,进入我们所指定的动画状态.但是这其中还有一些问题.例如,我们无法使用键盘控制精灵当前要进入的动画状态,而且精灵也只是在原地播放动画而已.但我们希望精灵在进入到PlayerWalkingAnimation状态时,位置应该发生改变. 要解决这些问题,就需要编写脚本.也就是说,要使用脚本来实现动画的播放控制,以及其它一些游戏的逻辑

【Unity NGUI游戏开发之三】TweenPosition位移动画(二):相对于UIAnchor不同分辨率下的完美适配位移动画

Unity中的UI我们采用的是NGUI,NGUI的界面位移动画,我们一般使用的是TweenPosition. 一种是简单的相对位移,不考虑分辨率适配问题,只需要简单的从位置A到位置B,已经在文中介绍了: [Unity NGUI游戏开发之二]TweenPosition位移动画(一):不相对于Anchor的位移动画 另外一种是考虑到屏幕分辨率适配的位移动画,我们游戏中大多遇到的是这种情况. eg.我们想让一个UI从屏幕外沿着屏幕的左边移动到屏幕的中央,TweenPositon播放动画,在960*64

Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏

Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布4.3版本的时候,就开始提供对制作2D游戏的支持了.例如,提供了一些专用于开发2D游戏的Unity工具.现在Unity已经发布了版本4.5,对2D游戏的支持更是完善了不少.为了说明Unity对2D游戏所提供的支持,本章会使用这些在Unity中原生的工具,开发一个简单的2D游戏.本文选自<Unity