コード例 #1
0
    void Update()
    {
        // If the wheel is released, reset the rotation
        // to initial (zero) rotation by wheelReleasedSpeed degrees per second
        if (!wheelBeingHeld && !Mathf.Approximately(0f, wheelAngle))
        {
            float deltaAngle = wheelReleasedSpeed * Time.deltaTime;
            if (Mathf.Abs(deltaAngle) > Mathf.Abs(wheelAngle))
            {
                wheelAngle = 0f;
            }
            else if (wheelAngle > 0f)
            {
                wheelAngle -= deltaAngle;
            }
            else
            {
                wheelAngle += deltaAngle;
            }
        }

        // Rotate the wheel image
        rectT.localEulerAngles = Vector3.back * wheelAngle;


        float axisValue = GetClampedValue();

        m_SteerAxis.Update(axisValue);
    }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
ファイル: TiltInput.cs プロジェクト: 409544041/Impulse
        private void Update()
        {
            float angle = 0;

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

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

                default:
                    throw new ArgumentOutOfRangeException();
                }
            }

            var axisValue = Mathf.InverseLerp(-FullTiltAngle, FullTiltAngle, angle) * 2 - 1;

            switch (Mapping.Type)
            {
            case AxisMapping.MappingType.NamedAxis:
                _mSteerAxis.Update(axisValue);
                break;

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

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

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

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #4
0
        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);
            }
            NetworkClientUI.SendControllerInfo(-delta.x, delta.y);
        }
コード例 #5
0
        void UpdateVirtualAxes(Vector2 value)
        {
            var delta = origin - value;

            delta.y = -delta.y;
            delta  /= MovementRange;
            if (m_UseX)
            {
                m_HorizontalVirtualAxis.Update(-delta.x);
                //Debug.Log("Value: " + value + ", Start: " + origin);
            }

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y);
            }
        }
コード例 #6
0
        void UpdateVirtualAxes(Vector3 value) // this is man made
                                              //this is called on drag and on pointer down
        {
            var delta = m_StartPos - value;   // almost like fps but for position

            delta.y = -delta.y;               // invert y, same as mouse scroll
            delta  /= MovementRange;          // dont fully understand this logic
            if (m_UseX)                       // see now these bools become so cool, if is both directions or x
            {
                m_lookHorizontalVirtualAxis.Update(-delta.x);
            }

            if (m_UseY)  // if is both or just y, if both then we done got the x
            {
                m_lookVerticalVirtualAxis.Update(delta.y);
            }
        }  // that is literally all this class does
コード例 #7
0
        void UpdateVirtualAxes(Vector3 value)
        {
            Debug.Log("Go in x direction" + value.x);
            Debug.Log("Go in y direction" + value.y);
            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);
            }
        }
コード例 #8
0
        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);
            }

            NetworkClientManager.instance.SendJoystickInfo(-delta.x, delta.y);
        }
コード例 #9
0
        void UpdateVirtualAxes(Vector3 value)
        {
            var delta = m_StartPos - value;

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

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y);
                controls.MoveVertical(delta.y);
            }
            controls.RotateWeapon(-delta.x, delta.y);
        }
コード例 #10
0
        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);
            }

            //Manda el mensaje al cliente
            NetworkClientUI.SendJoystickInfo(-delta.x, delta.y);
        }
コード例 #11
0
        void UpdateVirtualAxes(Vector3 value)

        {
            value = value.normalized;

            if (m_UseX)

            {
                m_HorizontalVirtualAxis.Update(value.x);
            }



            if (m_UseY)

            {
                m_VerticalVirtualAxis.Update(value.y);
            }
        }
コード例 #12
0
ファイル: Joystick.cs プロジェクト: beyondray/PVPClient
        void UpdateVirtualAxes(Vector3 value)
        {
            var delta = value - m_StartPos;

            if (delta.magnitude != 0)
            {
                delta /= delta.magnitude;
            }

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

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y);
            }
        }
コード例 #13
0
        private void Update()
        {
            print(Input.acceleration);
            float angle = 0;

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

                case AxisOptions.SidewaysAxis:
                    angle = Mathf.Atan2(Input.acceleration.z, -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:
                CrossPlatformInputManager.SetVirtualMousePositionX(axisValue * Screen.width);
                break;

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

            case AxisMapping.MappingType.MousePositionZ:
                CrossPlatformInputManager.SetVirtualMousePositionZ(axisValue * Screen.width);
                break;
            }
        }
コード例 #14
0
        void UpdateVirtualAxes(Vector3 value, Vector3 start_pos)
        {
            var delta = start_pos - value;

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

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y);
            }

            //NetworkClientUI.SendJoystickInfo(-delta.x, delta.y);
            // Debug.Log("delta|"+(-delta.x)+","+ delta.y);
            MyClient.SendJoystickInfo(-delta.x, delta.y);
        }
コード例 #15
0
        void UpdateVirtualAxes(Vector3 value)
        {
            var delta = m_StartPos - value;

            delta.y = -delta.y;
            delta  /= MovementRange;
            if (Mathf.Abs(delta.x) < 0.4f)
            {
                delta.x /= 2f;
            }
            if (m_UseX)
            {
                m_HorizontalVirtualAxis.Update(-delta.x);
            }

            //if (m_UseY)
            //{
            //	m_VerticalVirtualAxis.Update(delta.y);
            //}
        }
コード例 #16
0
        void UpdateVirtualAxes(Vector3 value)
        {
            if (Math.Abs(value.x) < 4 && Math.Abs(value.y) < 4)
            {
                value = Vector3.zero;
            }
#if UNITY_EDITOR
            value = value * 0.1f;
#else
            value = value.normalized;
#endif
            if (m_UseX)
            {
                m_HorizontalVirtualAxis.Update(value.x);
            }

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(value.y);
            }
        }
コード例 #17
0
        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);
            }
            float Angle = Mathf.Rad2Deg * Mathf.Atan2(delta.y, -delta.x);

            if (delta.magnitude > 0.1f)
            {
                indicator.rotation = Quaternion.Euler(0, 0, Angle);
            }
        }
コード例 #18
0
        void UpdateVirtualAxes(Vector3 value)
        {
            if (normalize)
            {
                value = value.normalized;
            }
            else
            {
                value.x *= xMulti;
                value.y *= yMulti;
            }

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

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(value.y);
            }
        }
コード例 #19
0
        void UpdateVirtualAxes(Vector3 value)
        {
            var delta = m_StartPos - value;

            delta.y = -delta.y;
            delta  /= MovementRange;

            if (m_UseX)
            {
                var xInput = -delta.x;
                // Remove some of the finicky turn input.
                if (xInput < xMoveDeadzone && xInput > -xMoveDeadzone)
                {
                    xInput = 0;
                }
                m_HorizontalVirtualAxis.Update(xInput);
            }

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y);
            }
        }
コード例 #20
0
        void UpdateVirtualAxes(Vector3 value)
        {
            var delta = m_StartPos - value;

            delta.y = -delta.y;
            delta  /= MovementRange;
            //Debug.Log ("delta: " + delta.x.ToString() + " " + delta.y.ToString() + " " + delta.z.ToString());
            if (m_UseX)
            {
                //if (isPlayer1 == -1)
                m_HorizontalVirtualAxis.Update(-delta.x * 5);
                //else if (isPlayer1 == 1)
                //	m_HorizontalVirtualAxis.Update (delta.x);
                //else {
                //	Debug.LogError ("Invalid isPlayer1 value");
                //}
            }

            if (m_UseY)
            {
                m_VerticalVirtualAxis.Update(delta.y * 5);
            }


            /*var delta1 = n_StartPos - value;
             * delta1.y = -delta1.y;
             * delta1 /= MovementRange;
             * if (n_UseX)
             * {
             *      n_HorizontalVirtualAxis.Update(-delta1.x);
             * }
             *
             * if (n_UseY)
             * {
             *      n_VerticalVirtualAxis.Update(delta1.y);
             * }*/
        }
コード例 #21
0
 void UpdateVirtualAxes(Vector3 value)
 {
     m_HorizontalVirtualAxis.Update(value.x);
     m_VerticalVirtualAxis.Update(value.y);
 }
コード例 #22
0
 void UpdateVirtualAxes(Vector2 value)
 {
     virtualAxisHorizontal.Update(value.x);
     virtualAxisVertical.Update(value.y);
 }
コード例 #23
0
 /**
  * Update the virtual axes for the joystick.
  */
 void UpdateVirtualAxes(Vector3 value)
 {
     value = value.normalized;
     horizontalVirtualAxis.Update(value.x);
     verticalVirtualAxis.Update(value.y);
 }
コード例 #24
0
 public void OnPointerDown(PointerEventData data)
 {
     // update the axis and record that the button has been pressed this frame
     m_Axis.Update(1);
 }