当我点击它时,如何循环播放视频?

时间:2015-11-11 10:32:40

标签: c# loops video unity3d movie

这是我正在使用的代码:

[RequireComponent (typeof(AudioSource))]
public class video : MonoBehaviour {

    public MovieTexture movie;
    public bool loop;
    private AudioSource audio;

    // Use this for initialization
    void Start () {

        GetComponent<RawImage> ().texture = movie as MovieTexture;
        audio = GetComponent<AudioSource> ();
        audio.clip = movie.audioClip;
        movie.Play ();enter code here
        audio.Play ();
        movie.loop = true ();

    }

    // Update is called once per frame
    void Update () {
    }

    void onMouseDown (){

        if (Input.GetKeyDown(KeyCode.Mouse0)&& !movie.isPlaying)
            movie.Play ();
        else if (Input.GetKeyDown(KeyCode.mouse) && movie.isPlaying)
            movie.Pause ();
    }
}

我想要的是当我点击视频,视频播放,完成时,如果我再次点击视频,它会重新启动视频。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我认为所需要的是检查电影是否完成播放。

我没有在Unity中完成任何电影工作,所以这是假设的,但这样的事情可能有用:

if (Input.GetKeyDown(KeyCode.Mouse0) && movie.hasFinishedPlaying)
{
    movie.Play ();
}

这种伪代码说的是,如果电影已经完成,我们点击鼠标,那么我们再次播放电影。

我再次瞥了一眼你的代码。您似乎正在做的是在OnMouseDown函数中执行暂停方法,并将movie.loop设置为true。

但是,设置为true应该是这样的:

movie.loop = true;

这样:

movie.loop = true();

除非在Unity中使用电影有所不同,但我不知道:)试一试!