【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类型即可

相关推荐
平行云11 小时前
3D应用推流太贵太慢?ImmerShare Lite:利用本地算力实现极简一键分享
unity·ue5·实时云渲染·云桌面·像素流·云游戏·串流
淡海水12 小时前
11-04-Unity-Span-foreach-LINQ的分配与热路径边界
unity·c#·linq·foreach·span
狂人开飞机21 小时前
23、实战平台跳跃游戏
游戏·游戏引擎·godot
灸木1 天前
Unity 多线程与并发:什么时候该用多线程?
unity
淡海水1 天前
11-02-Unity-Mono-vs-IL2CPP-两种脚本后端的数据结构行为差异
数据结构·unity·游戏引擎·il2cpp·mono
彧azz1 天前
初学Unity:编辑器
笔记·学习·unity·游戏引擎
小小数媒成员1 天前
GPU优化(1)
游戏·unity·游戏引擎
淡海水1 天前
11-03-Unity-List-T-和Dictionary-TKey-TValue-的性能调优实战
算法·unity·c#·list·dictionary
狂人开飞机1 天前
27、实战物理益智游戏
游戏·游戏引擎·godot