- Home /
Joystick movement problems
I am trying to make a joystick movement option in the game but when ever i press play this appers in the console
"NullReferenceException: Object reference not set to an instance of an object ThirdPersonInput.Update () (at Assets/ThirdPersonInput.cs:20)"
here is the code also, i am using joystick pack from asset store.
using System; using UnityEngine; using UnityStandardAssets.CrossPlatformInput;
namespace UnityStandardAssets.Characters.ThirdPerson { [RequireComponent(typeof (ThirdPersonCharacter))] public class ThirdPersonUserControl : MonoBehaviour { private ThirdPersonCharacter m_Character; // A reference to the ThirdPersonCharacter on the object private Transform m_Cam; // A reference to the main camera in the scenes transform private Vector3 m_CamForward; // The current forward direction of the camera private Vector3 m_Move; [HideInInspector] public bool m_Jump; [HideInInspector] // the world-relative desired move direction, calculated from the camForward and user input. public float Hinput; [HideInInspector] public float vinput;
     private void Start()
     {
         // get the transform of the main camera
         if (Camera.main != null)
         {
             m_Cam = Camera.main.transform;
         }
         else
         {
             Debug.LogWarning(
                 "Warning: no main camera found. Third person character needs a Camera tagged \"MainCamera\", for camera-relative controls.", gameObject);
             // we use self-relative controls in this case, which probably isn't what the user wants, but hey, we warned them!
         }
         // get the third person character ( this should never be null due to require component )
         m_Character = GetComponent<ThirdPersonCharacter>();
     }
     private void Update()
     {
         if (!m_Jump)
         {
             m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
         }
     }
     // Fixed update is called in sync with physics
     private void FixedUpdate()
     {
         // read inputs
         //float h = CrossPlatformInputManager.GetAxis("Horizontal");
         //float v = CrossPlatformInputManager.GetAxis("Vertical");
         bool crouch = Input.GetKey(KeyCode.C);
         // calculate move direction to pass to character
         if (m_Cam != null)
         {
             // calculate camera relative direction to move:
             m_CamForward = Vector3.Scale(m_Cam.forward, new Vector3(1, 0, 1)).normalized;
             m_Move = vinput*m_CamForward + Hinput*m_Cam.right;
         }
         else
         {
             // we use world-relative directions in the case of no main camera
             m_Move = vinput*Vector3.forward + Hinput*Vector3.right;
         }
if !MOBILE_INPUT
        // walk speed multiplier
         if (Input.GetKey(KeyCode.LeftShift)) m_Move *= 0.5f;
endif
         // pass all parameters to the character control script
         m_Character.Move(m_Move, crouch, m_Jump);
         m_Jump = false;
     }
 }
}
And
using UnityEngine; using UnityStandardAssets.Characters.ThirdPerson;
public class ThirdPersonInput : MonoBehaviour { public FixedJoystick leftJoystick; public FixedButton Button; protected ThirdPersonUserControl Control;
 // Start is called before the first frame update
 void Start()
 {
     Control.GetComponent<ThirdPersonUserControl>();
 }
 // Update is called once per frame
 void Update()
 {
     Control.m_Jump = Button.Pressed;
     Control.Hinput = leftJoystick.input.x;
     Control.vinput = leftJoystick.input.y;
 }
}
But this keeps happening

Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                