Quantcast
Channel: Questions in topic: "namespace"
Viewing all articles
Browse latest Browse all 398

GetComponent in namespace cannot reference a script in no namespace

$
0
0
Hello, I am modifying the Standart-Third-Person controller. I want to Rotate the player with the script called "ThirdPersonUserControl.cs". The Rotation-value is in the Cam-Script on the mainCamera. So I coded this: using System; using System.Collections; 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; private bool m_Jump; // the world-relative desired move direction, calculated from the camForward and user input. private bool crouch = false; //private Cam camScript; 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."); // 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(); //camScript = cam.GetComponent("Cam") as Cam; } private void Update() { if (!m_Jump) { m_Jump = CrossPlatformInputManager.GetButtonDown("Jump"); } if(Input.GetButton("Fire2")){ //transform.eulerAngles = new Vector3(transform.eulerAngles.x,cam.eulerAngles.y,transform.eulerAngles.z);//* Time.deltaTime; Quaternion newRotation = Quaternion.LookRotation(transform.position - m_Cam.position, Vector3.up); newRotation.x = 0.0f; newRotation.z = 0.0f; transform.rotation = Quaternion.Slerp(transform.rotation, newRotation, Time.deltaTime * 8); //Vector3 mouseLook = Vector3(transform.rotation.x,camScript.x,transform.rotation.z); //transform.rotation = Quaternion.Euler(mouseLook); } } // Fixed update is called in sync with physics private void FixedUpdate() { // read inputs float h = CrossPlatformInputManager.GetAxis("Horizontal"); float v = CrossPlatformInputManager.GetAxis("Vertical"); if(Input.GetKeyDown(KeyCode.LeftShift)) crouch = !crouch; // 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 = v*m_CamForward + h*m_Cam.right; } else { // we use world-relative directions in the case of no main camera m_Move = v*Vector3.forward + h*Vector3.right; } #if !MOBILE_INPUT // walk speed multiplier if (Input.GetKey(KeyCode.LeftControl)) m_Move *= 0.5f; #endif // pass all parameters to the character control script m_Character.Move(m_Move, crouch, m_Jump); m_Character.m_IsAiming = Input.GetButton("Fire2"); m_Jump = false; if(m_Character.m_IsAiming){ //transform.Rotate(0f,m_Cam.GetComponent().x,0f); } } } } But the Compiler says: The type or namespace name `Cam' could not be found. Are you missing a using directive or an assembly reference? I added at the top: using System.Collections, error still there. Thanks in advance.

Viewing all articles
Browse latest Browse all 398

Trending Articles