Unity 2D:玩家角色移动脚本

Unity 2D:玩家角色移动脚本,第1张

本文利用刚体实现玩家的移动,使用刚体移动可以产生与其他刚体碰撞立即停止,防止抖动。

选中咱们的角色

选择我们角色的碰撞体,然后点击 Edit Collider ,即可在场景中设置我们的碰撞体大小。

因为这里的角色移动是在平面上的,不是横版闯关的那种形式,因此需要调整刚体的属性:

在相应的文件夹中右键, Create -> C# Script

创建MovementController脚本并打开:

将我们创建的脚本挂在到角色身上,并完成赋值,即可完成角色移动:

方法/步骤

1、Unity支持三种汇编语言,分别是JS、c#和Boo。创建脚本的方法主要有三种,首先启动Unity,单机菜单栏中的Assets->Create来添加脚本。

2、第二种是启动Unity后,单击Project视图中的Create按钮创建脚本,如图所示。

3、启动Unity应用程序,在Project视图中的assets文件夹内通过右击d出的列表框创建脚本,如图所示。

4、添加完脚本后就可以在Project视图中看到。

5、双击脚本文件就可以将其打开进行编辑。

首先在场景中新建一个空物体,添加组件Network Manager 和Network ManagerHUD组件

PlayerPrefab=>客户端加入时自动生成的Prefab

AutoCreatePlayer=>自动生成Prefab。

PlayerSpawnMethod=>Prefab的生成方法,两个选项。使用这个方法首先要有指定的位置。(NetworkStartPosition)

Random=>随机生成

创建角色预制体,添加组件Network Identity

.

给角色添加移动脚本PlayerController

将角色的预制体添加到NetWork Manager/Spawn Info中

构建项目并运行,打开构建的游戏,

点击左上角的LAN Host

再打开Unity,运行程序,点击LAN Client加入游戏

画面中有两个角色(重合),移动角色会发现角色在同时移动

要添加一个判断条件,判断当前角色是否为本地角色

首先,加入UnityEngine.Networking命名空间

其次,将MonoBehaviour改为NetworkBehaviour

最后添加判断条件

再次构建发布并运行,两个角色就可以分开移动了,但是还有个问题:画面不同步

在角色预制体中添加Network Transform

Network Send Rate 每秒的网络更新数

Transform Sync Mode 可以更改同步的组件类型

再次构建运行,可以看到 画面同步了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11727244.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存