这是我正在使用的代码:
[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 ();
}
}
我想要的是当我点击视频,视频播放,完成时,如果我再次点击视频,它会重新启动视频。
答案 0 :(得分:0)
movie.loop = true;
下次谷歌:http://docs.unity3d.com/ScriptReference/MovieTexture-loop.html
答案 1 :(得分:0)
我认为所需要的是检查电影是否完成播放。
我没有在Unity中完成任何电影工作,所以这是假设的,但这样的事情可能有用:
if (Input.GetKeyDown(KeyCode.Mouse0) && movie.hasFinishedPlaying)
{
movie.Play ();
}
这种伪代码说的是,如果电影已经完成,我们点击鼠标,那么我们再次播放电影。
我再次瞥了一眼你的代码。您似乎正在做的是在OnMouseDown
函数中执行暂停方法,并将movie.loop
设置为true。
但是,设置为true应该是这样的:
movie.loop = true;
不这样:
movie.loop = true();
除非在Unity中使用电影有所不同,但我不知道:)试一试!