Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当我左键点击视频时,如何循环视频?_C#_Loops_Video_Unity3d_Movie - Fatal编程技术网

C# 当我左键点击视频时,如何循环视频?

C# 当我左键点击视频时,如何循环视频?,c#,loops,video,unity3d,movie,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 () { GetComponen

以下是我使用的代码:

[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 ();
    }
}
[RequireComponent(typeof(AudioSource))]
公共课视频:独身行为{
公共电影;
公共布尔环;
私人音频源音频;
//用于初始化
无效开始(){
GetComponent().texture=作为MovieTexture的电影;
audio=GetComponent();
audio.clip=movie.audioClip;
movie.Play();在此处输入代码
audio.Play();
movie.loop=true();
}
//每帧调用一次更新
无效更新(){
}
void onMouseDown(){
if(Input.GetKeyDown(KeyCode.Mouse0)和&!movie.isplay)
电影。播放();
else if(Input.GetKeyDown(KeyCode.mouse)和&movie.isplay)
电影。暂停();
}
}
我想要的是当我点击视频时,视频播放、结束,如果我再次点击视频,它将重新启动视频

movie.loop = true;

下次用谷歌搜索:

我想需要的是检查一下电影是否播放完毕

我没有在Unity中做过任何电影方面的工作,所以这是假设,但类似的东西可能会起作用:

if (Input.GetKeyDown(KeyCode.Mouse0) && movie.hasFinishedPlaying)
{
    movie.Play ();
}
这类伪代码的意思是,如果电影已经完成,我们按下鼠标,然后我们再次播放电影

我刚刚又看了一遍你的代码。您要做的似乎是在
OnMouseDown
函数中执行暂停方法,并将
movie.loop
设置为true

但是,将某些设置为true应该如下所示:

movie.loop = true;
movie.loop = true();
而不是像这样:

movie.loop = true;
movie.loop = true();

除非在Unity中使用电影是不同的,但我不知道:)试试吧

只是把你的代码扔掉是没有用的!请详细解释;你想做什么,你会犯什么错误等等!:)我在一个场景中使用rawImage作为电影纹理(正如您在我的编码中所看到的),当我在该场景中时,视频开始播放,但随后停止。我想做的是通过鼠标左键重放当前视频。因此,单击开始播放,然后视频不断重复播放,或者视频播放,完成,然后在单击视频时重新启动?是的,我想的是当我单击视频时,视频播放,完成,如果我再次单击视频,它会重新启动视频。如果我这样做,它会保持循环,永不停止。我想在单击视频时,通过单击鼠标左键播放视频。感谢您的帮助,但是,如果(Input.GetKeyDown(KeyCode.Mouse0)和&movie.hassfinishedplaying){movie.Play();}无法像我在回答中所说的那样使用,.hasFinishedPlaying是一个伪代码变量,我用它来表达我的想法-它不是一个实际的变量!我强烈建议您看看这篇文章:它包含了许多关于使用
MovieTexture
的有用信息以及一些代码示例。事实上,我想你正在寻找的是其中一个代码示例。啊,我真的很不擅长编码,所以我自己无法真正理解它。那我就试试看。再次感谢。:)帮助,我终于明白了,但这不是当我点击原始图像时,而是当我点击屏幕上的任何东西时它的回放。如何解决此问题?编辑现有问题,或关闭此问题并发布新问题。