U4S1L11——Player Input Manager
U4S1L11——Player Input Manager
PlayerInputManager
PlayerInputManager
组件,主要是用于管理本地多人输入的输入管理器,它主要管理玩家加入和离开
PlayerInputManager参数相关
-
Notification Behavior:通知行为
当玩家进入时,PlayerInputManager如何通知关联的对象,
它的工作方式和PlayerInput相同 -
Join Behavior:玩家加入的机制
- Join Players When Button Is Pressed:
当有新设备加入按下任意键,或者没有任何玩家时按下任意键 - Join Players When Join Action Is Triggered:
当有新设备加入按下指定按键触发玩家加入 - Join Players Manually:
不要自动加入玩家,需要自己手动加入玩家
- Join Players When Button Is Pressed:
-
Player Prefab:挂载PlayerInput组件****的游戏对象
-
Joining Enabled By Default:启用后,新加玩家按照 JoinBehavior 的规则加入,重要选项
-
Limit Number Of Players:启用后,可以限制加入游戏的玩家数量
- Max Player Count:允许参加游戏的最大玩家数
-
Enable Split_Screen:是否激活分屏
如果启用,会自动为每个对象分配可用屏幕区域的一部分,用于多人分屏游戏需要先为玩家的PlayerInput上关联一个摄像机
- Maintain Aspect Ratio:假值使游戏能够生成屏幕区域,其纵横比与细分屏幕时的屏幕分辨率不同
- Set Fixed Number:如果该值大于零,则PlayerInputManager始终将屏幕分割为固定数量的矩形,而不考虑实际的玩家数量。
- Screen Rectangle:可用于分配播放器拆分屏幕的规范化屏幕矩形
PlayerInputManager的使用
这里讲的是PlayerInputManager的通知行为如何使用
-
第一种和第二种模式很简单,按照弹出的要求声明函数即可,之后会在玩家加入或者离开时触发这些函数
-
-
这两种模式要求在PlayerInputManager依附的对象(第一种)或者子对象(第二种)上的脚本内声明具有要求的函数名的函数即可
-
第三种模式更简单,直接将要用于监听玩家加入或者离开的函数拖入即可
-
这里主要讲述第四种模式怎么使用
-
获取PlayerInputManager
要为委托添加监听方法,首先要获取
PlayerInputManager
,由于PlayerInputManager
在场景上应当只有一个(也只需要一个,而不需要第二个)
因此我们可以像获取单例模式的管理器那样获取它1
PlayerInputManager.instance
-
玩家加入时触发什么方法
当
PlayerInputManager
创建了一个玩家时,触发该委托,该委托所需的监听函数需要一个PlayerInput
参数1
2
3
4PlayerInputManager.instance.onPlayerJoined += (playerInput) =>
{
print("创建了一个玩家");
}; -
玩家离开时触发什么方法
当销毁,或者断开了一个
PlayerInputManager
创建的玩家时,触发该委托,该委托所需的监听函数需要一个PlayerInput
参数1
2
3
4PlayerInputManager.instance.onPlayerLeft += (playerInput) =>
{
print("离开了一个玩家");
};
-