【Unity】Joystick Pack摇杆插件实现锁四向操作

Joystick Pack

​ 简介:一款Unity摇杆插件,非常轻量化

​ 摇杆移动类型:圆形、横向、竖向

​ 摇杆类型:

Joystick 描述
Fixed 固定位置
Floating 浮动操纵杆从用户触碰的地方开始,一直固定到触碰被释放。
Dynamic 动态操纵杆从用户触摸的地方开始,然后随着触摸在屏幕上移动。
Variable 可变操纵杆可以在这三种模式之间切换,当用户可以决定使用哪个操纵杆时很有用。
  1. 增加锁定四个方向类型摇杆

    因为需要利用圆形摇杆让玩家只能向四个方向滑动:

    • 打开摇杆的控制类Joystick

    • 找到枚举类型增加新的枚举:

    • 找到FormatInput方法:每次摇杆移动会在这个方法计算输入的方向

      添加如下代码:

      c# 复制代码
      //else if(axisOptions == AxisOptions.LockFour)部分为新增代码
      
      private void FormatInput()
          {
              if (axisOptions == AxisOptions.Horizontal)
                  input = new Vector2(input.x, 0f);
              else if (axisOptions == AxisOptions.Vertical)
                  input = new Vector2(0f, input.y);
              else if(axisOptions == AxisOptions.LockFour)
              {
                  float horizontal = Mathf.Abs(input.x);
                  float vertical = Mathf.Abs(input.y);
                  
                  if (horizontal > vertical)
                  {
                      input = new Vector2(input.x, 0f);
                  }
                  else
                  {
                      input = new Vector2(0f, input.y);
                  }
              }
          }
    • 在摇杆组件的面板上选择LockFour类型即可

相关推荐
tealcwu16 小时前
【Unity基础】为什么游戏需要物理按键映射?从 Unity Input Manager 到跨引擎输入设计
java·游戏·unity
tealcwu1 天前
【Unity高级】Unity URP:构建同时支持 2D 与 3D 场景的项目完全指南
3d·unity·游戏引擎
淡海水1 天前
10-01-互操作-C#与C++边界的内存管理
unity·c#·游戏引擎·.netcore·gc
小小数媒成员2 天前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
暴走约伯2 天前
【VFX工具链源码拆解 04】拯救丢失的绑定:Timeline 一键克隆与层级相对路径重映射算法
unity·c#·游戏引擎·硬件工程
小小数媒成员2 天前
Unity UGUI布局组件(LayoutGroup、ContentSizeFitter、LayoutElement)详解
unity·游戏引擎
tealcwu2 天前
【Unity基础】Unity输入与Time.deltaTime的使用原则
unity·游戏引擎
chen_2272 天前
godot做仪表hmi
游戏引擎·godot
郝学胜-神的一滴2 天前
AI 编程智能体 22:解析器赋能与实战落地全指南
人工智能·程序人生·游戏·unity·游戏引擎
BuHuaX3 天前
Lua 与 ToLua:运行机制及热更新原理
开发语言·unity·junit·c#·lua