コード例 #1
0
ファイル: MouseInput.cs プロジェクト: vinhphu3000/unitylib
        // Update is called once per frame
        void Update()
        {
#if UNITY_ANDROID
            if (Input.GetMouseButton(0) && m_TouchDown)
#else
            if (Input.GetMouseButton(0))
#endif
            {
                if (m_UseX)
                {
                    m_HorizontalVirtualAxis.Update(Input.GetAxis("Mouse X"));
                }

                if (m_UseY)
                {
                    m_VerticalVirtualAxis.Update(Input.GetAxis("Mouse Y"));
                }
            }

            if (Input.GetMouseButtonDown(0))
            {
#if UNITY_ANDROID
                m_TouchDown = true;
#endif
                m_MouseButton.Pressed();
            }

            if (Input.GetMouseButtonUp(0))
            {
#if UNITY_ANDROID
                m_TouchDown = false;
#endif
                m_MouseButton.Released();
            }
        }
コード例 #2
0
ファイル: TouchPad.cs プロジェクト: vinhphu3000/unitylib
        void UpdateVirtualAxes(Vector3 value)
        {
            value = value.normalized;
            if (m_UseX)
            {
                m_HorizontalVirtualAxis.Update(value.x);
            }

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(value.y);
            }
        }
コード例 #3
0
        void UpdateVirtualAxes(Vector2 delta)
        {
            delta /= movementRange;

            if (m_UseX)
            {
                m_HorizontalVirtualAxis.Update(delta.x);
            }

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y);
            }
        }
コード例 #4
0
ファイル: BaseJoystick.cs プロジェクト: vinhphu3000/unitylib
        void UpdateVirtualAxes(Vector3 value)
        {
            var delta = m_StartPos - value;

            delta.y = -delta.y;
            delta  /= movementRange;
            if (m_UseX)
            {
                m_HorizontalVirtualAxis.Update(-delta.x);
            }

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y);
            }
        }
コード例 #5
0
ファイル: Acceleration.cs プロジェクト: vinhphu3000/unitylib
        private void Update()
        {
            float angle = 0;

            if (UnityEngine.Input.acceleration != Vector3.zero)
            {
                switch (tiltAroundAxis)
                {
                case AxisOptions.ForwardAxis:
                    angle = Mathf.Atan2(UnityEngine.Input.acceleration.x, -UnityEngine.Input.acceleration.y) * Mathf.Rad2Deg +
                            centreAngleOffset;
                    break;

                case AxisOptions.SidewaysAxis:
                    angle = Mathf.Atan2(UnityEngine.Input.acceleration.z, -UnityEngine.Input.acceleration.y) * Mathf.Rad2Deg +
                            centreAngleOffset;
                    break;
                }
            }

            float axisValue = Mathf.InverseLerp(-fullTiltAngle, fullTiltAngle, angle) * 2 - 1;

            switch (mapping.type)
            {
            case AxisMapping.MappingType.NamedAxis:
                m_SteerAxis.Update(axisValue);
                break;

            case AxisMapping.MappingType.MousePositionX:
                InputManager.SetVirtualMousePositionX(axisValue * Screen.width);
                break;

            case AxisMapping.MappingType.MousePositionY:
                InputManager.SetVirtualMousePositionY(axisValue * Screen.width);
                break;

            case AxisMapping.MappingType.MousePositionZ:
                InputManager.SetVirtualMousePositionZ(axisValue * Screen.width);
                break;
            }
        }