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

相关推荐
切韵10 天前
Unity编辑器扩展:UI绑定复制工具
ui·unity·编辑器
10 天前
Lua复习之何为闭包
开发语言·unity·游戏引擎·lua·交互
深空数字孪生10 天前
2025年小程序地图打车的5大技术革新:实时路况预测与智能调度升级
大数据·人工智能·unity·性能优化·小程序·游戏引擎
RPGMZ10 天前
RPGMZ 游戏引擎如何与lua进行互相调用 初探
开发语言·javascript·游戏引擎·lua·rpgmz
程序猿多布10 天前
Unity Addressable使用之检测更新流程
unity·addressable
Bunny Chen11 天前
Unity中的物理单位是真实的吗?
unity·游戏引擎
benben04411 天前
Unity3D仿星露谷物语开发69之动作声音
游戏·ui·unity·c#·游戏引擎
徐子竣11 天前
Unity Shader开发-着色器变体(1)-着色器变体概述
unity·游戏引擎·着色器
playmak3r12 天前
某手游cocos2dlua反编译
游戏引擎·lua·cocos2d
Magnum Lehar12 天前
wpf3d游戏引擎ProjectLayoutView实现
游戏引擎·wpf