- Home /
Okay so I'm having an issue with a bool...
Currently I am using the standard asset script MouseLook. Prior to updating to the latest unity I had added to the script a doMouseLook bool which gets changed when a player access their inventory to false. Everything was working correctly prior to 4.6.X now I've readded the bool to the updated script... And for some reason... The players mouseLook script changes the bool to false (in editor and in code) meaning I can't move the camera in the X which is the way it should be. However the Maincamera's mouselook changes the bool to false only in the code... So it stays true for some unknown reasoning within the editor and the game... Now I've looked at every possible angle I can think of to make it stop moving in the Y axis... But it's a technical impossibility that it's reaching the code for the Y axis past a bool that it has set to false... (I've refreshed my assests rewritten the bool code. Tried changing the axis that the camera/player controls which just leaves the X axis still moving...) I'm literally at a wits end with unity... :(
mouseLook script:
void Update ()
{
if(doMouseLook == true)
{
Debug.Log("doMouseLook" + doMouseLook);
if (axes == RotationAxes.MouseXAndY)
{
float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX;
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);
}
else if (axes == RotationAxes.MouseX)
{
transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);
}
else
{
rotationY += Input.GetAxis("Mouse Y") * sensitivityY;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);
}
}
}
playerInventory script:
void Update()
{
if(Input.GetKeyDown(KeyCode.B))
{
if(inventoryWindowToggle == false)
{
inventoryWindowToggle = true;
Screen.showCursor = true;
Screen.lockCursor = false;
mlCameraScript.doMouseLook = false;
mlPlayerScript.doMouseLook = false;
Debug.Log("camera script bool:" + mlCameraScript.doMouseLook);
Debug.Log("player script bool:" + mlPlayerScript.doMouseLook);
}
else
{
inventoryWindowToggle = false;
Screen.showCursor = false;
Screen.lockCursor = true;
mlCameraScript.doMouseLook = true;
mlPlayerScript.doMouseLook = true;
}
}
}
Can you post the code? It is like searching the clue in a pitch dark.
I will but it's literally just the standard mouseLook script...
Answer by Elessar · Jan 14, 2015 at 02:54 AM
Found a solution. Instead of using mlCameraScript = camera.GetComponent (); to get access to the MouseLook script I changed it to mlCameraScript = GameObject.FindGameObjectWithTag("MainCamera").GetComponent(); seems it now plays ball... Player script still works completely fine.. Weird...
Your answer
![](https://koobas.hobune.stream/wayback/20220613180349im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
I'm having problems with referencing other scripts. 2 Answers
Main Camera = false problems 1 Answer
What are some reasons my gameObject isn't colliding? 1 Answer
How do I call this function once in update? 2 Answers
Game Performance 1 Answer