So habe ich ein Skript, dass, wenn Sie auf eine Schaltfläche klicken, ein Film abgespielt wird. Ich habe einen IEnumerator, um zu sehen, ob der Film vorbei ist und wann es geschlossen ist. Mein Code funktionierte gut, bis ich den IEnumerator hinzugefügt habe und jetzt kann ich die playMovie-Funktion nicht aufrufen.Unity C# -Funktion funktioniert nicht mit IEnumerator
Image of why I can't call playMovie
Alle Ideen, warum dies geschieht werden könnten? Dies ist, was der Code wie folgt aussieht:
public void playMovie(Action callback)
{
GetComponent<RawImage>().texture = myMovie as MovieTexture;
audio = GetComponent<AudioSource>();
audio.clip = myMovie.audioClip;
myMovie.Play();
audio.Play();
StartCoroutine (FindEnd (callback));
}
private IEnumerator FindEnd(Action callback)
{
while (myMovie.isPlaying)
{
yield return 0;
}
callback();
yield break;
}
Gibt die 'StartCoroutine' Methode tatsächlich den' IEnumerator' auf? (i. e. verwendet es "foreach"?) –
"und jetzt kann ich die playMovie-Funktion nicht aufrufen": Warum nicht? Was passiert, wenn Sie es versuchen? – phoog
Chris: Ich habe keine Ahnung, wie ich das überprüfen soll. – Amanda