Untiy Input System

GetKey, GetKeyDown, GetKeyUp

  • GetKey --- 按住
  • GetKeyDown --- 按下的第一帧为true ,按住后 为 false
  • GetKeyUp --- 同理

new input system

为了适配更多输入设备并将逻辑和操作进行分离。

  • craete/input action
  • 添加 Action Map ,设置Action type 和 control type ,添加 Actions 并绑定资源

实时控制:

private PlayerInputAction playerInputAction;

private void Awake()
{
	playerInputAction = new PlayerInputAction();
	playerInputAction.Player.Enable();
}



public Vector2 GetMovementVectorNormalized()
{
	Vector2 inputVector = playerInputAction.Player.Move.ReadValue<Vector2>();
	inputVector = inputVector.normalized;

	return inputVector;
}

按键监控:

利用 c# 事件 进行订阅

[[02 角色控制#use c event to make interact action]]

private void Awake()
{
	//初始化 input system
	playerInputAction = new PlayerInputAction();
	playerInputAction.Player.Enable();

	// 订阅 interaction 对应的按键 E
	playerInputAction.Player.Interact.performed += Interact_Performed;
}

private void Interact_Performed(UnityEngine.InputSystem.InputAction.CallbackContext obj)
{
	//自定义事件
	OnInteractAction?.Invoke(this, EventArgs.Empty);
}

作者:bigsharker

出处:https://www.cnblogs.com/bigsharker/p/18198531

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   big_shark  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示