using UnityEngine; using System.Collections; using UnityEngine.EventSystems; using System; public class TouchMovie : MonoBehaviour, IPointerDownHandler { //public Texture texture; DShowMoviePlayer movie; [SerializeField] private int MaxFrameCount = 0; private bool isTouch = false; [SerializeField] private float MoviePlayInterval = 30; private float playtime; [SerializeField] AudioSource audioSource; void Awake() { //audioSource = GetComponent(); movie = GetComponent(); } // Use this for initialization void Start () { playtime = MoviePlayInterval; } // Update is called once per frame void Update () { if (playtime > 0) playtime -= Time.deltaTime; if(playtime<=0) { playtime = MoviePlayInterval; movie.Play(); isTouch = true; } if(!isTouch) { if(MaxFrameCount!=0) { if (movie.Frame >= MaxFrameCount) movie.Frame = 0; } if (audioSource != null) { if (audioSource.isPlaying) audioSource.Stop(); } } else { if (MaxFrameCount != 0) { if (movie.Frame >= MaxFrameCount) { if (audioSource != null) { if (!audioSource.isPlaying) audioSource.Play(); } } } } if(movie.IsFinished) { isTouch = false; if(!movie.Loop) { movie.Pause(); movie.Frame = 0; isTouch = false; } } } public void OnPointerDown(PointerEventData eventData) { if (!movie) return; movie.Play(); isTouch = true; playtime = MoviePlayInterval; } }