Пример #1
0
        private void Update()
        {
            // ボタン
            m_circle?.SetActive(GamePad.GetButton(m_gpId, GPButton.Circle));
            m_cross?.SetActive(GamePad.GetButton(m_gpId, GPButton.Cross));
            m_triangle?.SetActive(GamePad.GetButton(m_gpId, GPButton.Triangle));
            m_square?.SetActive(GamePad.GetButton(m_gpId, GPButton.Square));

            m_l1?.SetActive(GamePad.GetButton(m_gpId, GPButton.LeftShoulder1));
            m_r1?.SetActive(GamePad.GetButton(m_gpId, GPButton.RightShoulder1));
            m_l2?.SetActive(GamePad.GetButton(m_gpId, GPButton.LeftShoulder2));
            m_r2?.SetActive(GamePad.GetButton(m_gpId, GPButton.RightShoulder2));

            m_l3?.SetActive(GamePad.GetButton(m_gpId, GPButton.LeftStick));
            m_r3?.SetActive(GamePad.GetButton(m_gpId, GPButton.RightStick));

            { // 十字キー
                Vector2 dpad = GamePad.GetArrowDPadVec2(m_gpId);
                m_dLeft?.SetActive(dpad.x <= -1.0f);
                m_dRight?.SetActive(dpad.x >= 1.0f);
                m_dUp?.SetActive(dpad.y >= 1.0f);
                m_dDown?.SetActive(dpad.y <= -1.0f);
            }
            { // アナログスティック
                float factor = 12.0f;
                m_stickL.localPosition =
                    GPImpl.GetAxis(GPAxis.LeftStick, m_gpId.ToRawID())
                    .AddZ(0.0f) * factor;
                m_stickR.localPosition =
                    GPImpl.GetAxis(GPAxis.RightStick, m_gpId.ToRawID())
                    .AddZ(0.0f) * factor;
            }
        }
Пример #2
0
 /// <summary>
 /// 方向入力(左)の入力をVector3で取得
 /// - X:Horizontal / Y:0 / Z:Vertical
 /// </summary>
 public static Vector3 GetLeftAxisXZ(GamePadID gpID) => GetLeftAxis(gpID.ToRawID()).AddY(0f);
Пример #3
0
 /// <summary> 方向入力(左)の入力をVector2で取得 </summary>
 public static Vector2 GetLeftAxis(GamePadID gpID) => GetLeftAxis(gpID.ToRawID());
Пример #4
0
 /// <summary> 十字ボタンの指定方向が押されているか </summary>
 public static bool GetArrowDPad(GamePadID gpID, GPArrow arrow) => GetArrowDPad(gpID.ToRawID(), arrow);
Пример #5
0
 /// <summary> 十字ボタンの入力をVector2で取得 </summary>
 public static Vector2 GetArrowDPadVec2(GamePadID gpID) => GetArrowDPadVec2(gpID.ToRawID());
Пример #6
0
 /// <summary> ボタンが押されている間:true </summary>
 public static bool GetButton(GamePadID gpID, GPButton button) => GetButton(gpID.ToRawID(), button);