Why can I not control my character after my intro cut-scene? C#
I made an animation of an intro cut-scene to my game. The scene turned out great and the script I wrote prevents the character model from showing itself during the cut-scene but once it's over I can't control it again. Even the camera's won't go back to normal. What am I doing wrong? I thought it was the "StartCoroutine" at first but even with that marked out it still wont work!
I'll post my code below.
public class CameraSwitch : MonoBehaviour {
public Camera camera1;
public Camera camera2;
Animator anim;
// Use this for initialization
void Start ()
{
GameObject.Find ("Player Avatar").SetActive (false);
camera1.enabled = false;
camera2.enabled = true;
anim = camera2.GetComponent<Animator> ();
anim.Play ("Animator");
StartCoroutine (MyMethod());
mainCameraSwitch ();
}
IEnumerator MyMethod()
{
yield return new WaitForSeconds (2);
}
void mainCameraSwitch()
{
GameObject.Find ("Player Avatar").SetActive (true);
camera1.enabled = true;
camera2.enabled = false;
}
}
I havent used WaitForSecounds that much but right now you are calling " mainCameraSwitch" right at the start when you press play, shouldnt that function be called under " yield return new WaitForSeconds (2);" like this
IEnumerator $$anonymous$$y$$anonymous$$ethod()
{
yield return new WaitForSeconds (2);
mainCameraSwitch ();
}
Edit: I tested this and it worked.
Answer by acorrow · Dec 13, 2015 at 03:48 PM
Did you want mainCameraSwitch to actually wait for the coroutine? When you start a CoRoutine, that method you called it from keeps executing. Think of a coroutine like a thread. You "start" it from one method, and it then goes and runs on another thread, allowing the method you called it from to keep on executing. So you essentially do nothing with the Coroutine here.
if you wanted to start the co-routine, then wait 2 seconds, then execute mainCameraSwitch, then you want to make the call to mainCameraSwitch from your IEnumerator, after the waitforseconds call.
I suspect this code isn't really your culprit. Other than the useless coroutine execution it looks ok.
Your answer
Follow this Question
Related Questions
Interchangeable animations in a script? 0 Answers
Looking to activate animation when clicking a button 0 Answers
Rigid body robot animation 0 Answers
Help with a door slam trap 0 Answers
what's the best way to change animators on a player, in script? 1 Answer