Unity3d--C#封装输入键(移动,鼠标,跳,开火,换弹,蹲下)

本文介绍如何在Unity3d中使用C#封装输入键,包括创建输入控制类InputAxis,初始化输入值,添加按键和轴的管理,以及在PlayerParameter.cs中设置参数。通过封装,便于统一管理和减少输入控制的混乱。文章还演示了英雄如何调用这些输入进行移动和判断蹲伏等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unity3d–C#封装输入键

游戏里我们为什么要封装输入呢?
答案就是到处写输入函数,会导致输入控制乱不好统一管理,有时候还有一定的干扰

1:创建脚本Input.cs
1.1:创建输入控制类InputAxis
public class fps_InputAxis
    {
   
        public KeyCode positive;
        public KeyCode negative;
    }
1.2:创建子弹和链表用来存储控制键,输入值,
public Dictionary<string, KeyCode> buttons = new Dictionary<string, KeyCode>();
public Dictionary<string, fps_InputAxis> axis = new Dictionary<string, fps_InputAxis>();
public List<string> unityAxis = new List<string>();
1.3在初始化Start()里调用初始化方法
  private void SetupDefaults(string type = "")
    {
   
        if (type == "" || type == "buttons")
        {
   
            if (buttons.Count == 0)
            {
   
                AddButton("Fire", KeyCode.Mouse0);//开火键---添加按键进入
                AddButton("Reload", KeyCode.R);//换弹夹键
                AddButton("Jump", KeyCode.Space);//跳跃键
                AddButton("Crouch", KeyCode.C);//蹲伏键
                AddButton("Sprint", KeyCode.LeftShift);//冲刺键
                AddButton("Skill", KeyCode.K);//技能键

            }
            
        }
        if (type == "" || type == "Axis")
        {
   
            if (axis.Count ==
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值