2015-11-11 6 views
0

Вот код, я использую:Как я могу зацикливать видео, когда я нажимаю на него?

[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

Нехорошо просто сбрасывать код! Пожалуйста, объясните подробнее. что вы хотите сделать, какие ошибки вы получите и т. д.! :) – Tom

+0

Я использую rawImage как текстуру фильма (как вы можете видеть в моем кодировании) в сцене, видео начало играть, когда я нахожусь в этой сцене, но затем остановился. Я хочу сделать это, чтобы воспроизвести текущее видео, щелкнув левой кнопкой мыши. – Jack

+0

Итак, нажмите, чтобы начать воспроизведение, и затем видео продолжает воспроизводиться снова и снова, или воспроизведение видео, завершение и перезапуск при нажатии на видео? – Tom

ответ

0
movie.loop = true; 

Просто Google в следующий раз: http://docs.unity3d.com/ScriptReference/MovieTexture-loop.html

+0

Если бы я это сделал, он продолжал цикл и никогда не останавливался. Я хочу, когда я нажму на видео, воспроизведение видео, нажав левую кнопку мыши. – Jack

0

Я думаю, что нужно, это проверка, чтобы увидеть, если фильм закончили играть или нет.

Я не сделал никакой работы с фильмами в единстве, так что это гипотетическая, но что-то подобное может работать:

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

Что такого рода псевдокоде говорит, что, если фильм закончил , и мы нажимаем на мышь, затем снова воспроизводим фильм.

Я только что взглянул на ваш код. Что вы делаете, это сделать метод паузы в функции OnMouseDown и установить для movie.loop значение true.

Однако установка что-то верно должно быть так:

movie.loop = true; 

И не так:

movie.loop = true(); 

Если она не отличается для использования фильмов в Unity, но я не» Знаю :) Попробуй!

+0

Thankyou за помощь, но если (Input.GetKeyDown (KeyCode.Mouse0) && movie.hasFinishedPlaying) { movie.Play(); } не может быть использован – Jack

+0

Как я уже сказал в своем ответе, .hasFinishedPlaying - это переменная псевдокода, которую я использовал, чтобы получить идею вниз - это не настоящая переменная! Я настоятельно рекомендую вам ознакомиться с этой статьей: http://docs.unity3d.com/Manual/class-MovieTexture.html В нем содержится много полезной информации об использовании 'MovieTexture', а также некоторые примеры кода , Фактически то, что я думаю, что вы ищете, находится в одном из примеров кода. – Tom

+0

А я действительно плохо разбираюсь в кодировании, поэтому я не могу понять это сам. Ну, я даю ему попробовать. Еще раз спасибо. : ') – Jack

Смежные вопросы