Коротше, зробив на тому самому ігровому двигуні - Unity3D. xD Значить зробив площину, котра слугує екраном і зробив два матеріала з потрібними відео. І просто рендерю відео на площину, поставив шейдер, котрий слугує підсвіткою і все ок робить. А картинку завантажую з тої самої директорії, в котрій знаходится екзе файл. Вона має бути з іменем 5 і мати формат png. Ось. Ну ще зробив таймери, щоб після першого відео програвалась картинка, а після неї - друге відео. А після другого - перше відео - картинка - друге відео. І т.д.
using UnityEngine;
using System.Collections;
using System.IO;
using System.Collections.Generic;
using System;
public class play : MonoBehaviour {
private float firstVideo;
private float secondVideo;
private const float picture=5*60;
public GameObject go;
private MovieTexture mov;
public Material mat1;
public Material mat2;
private AudioSource audio;
public AudioClip au1;
public AudioClip au2;
private Texture2D tex;
private byte[] bytes;
private bool check=false;
private bool check2=false;
private bool check3=false;
// Use this for initialization
void Start () {
firstVideo=au1.length;
secondVideo=au2.length;
renderer.material=mat1;
audio=(AudioSource)go.GetComponent("AudioSource");
audio.clip=au1;
mov = (MovieTexture)renderer.material.mainTexture;
audio.Stop();
string s = Directory.GetCurrentDirectory();
FileStream fs = new FileStream(s+"\\5.png",FileMode.Open);
try
{
bytes = new byte[fs.Length];
fs.Read(bytes, 0, Convert.ToInt32(fs.Length));
fs.Close();
}
finally
{
fs.Close();
}
tex=new Texture2D(1920,1080);
tex.LoadImage(bytes);
}
// Update is called once per frame
void Update () {
if(Input.GetKeyDown(KeyCode.P)){
mov.Play();
audio.Play();
StartCoroutine("First");
Debug.Log("Start");
}
if(check)
{
check=false;
renderer.material=mat1;
mov = (MovieTexture)renderer.material.mainTexture;
audio.clip=au1;
mov.Play();
audio.Play();
StartCoroutine("Third");
}
if(check2)
{
check2=false;
renderer.material.mainTexture=tex;
StartCoroutine("Second");
}
if(check3)
{
check3=false;
renderer.material=mat2;
mov = (MovieTexture)renderer.material.mainTexture;
audio.clip=au2;
mov.Play();
audio.Play();
StartCoroutine("Third");
}
}
IEnumerator First()
{
yield return new WaitForSeconds(firstVideo);
check2=true;
}
IEnumerator Second()
{
yield return new WaitForSeconds(picture);
check3=true;
}
IEnumerator Third()
{
yield return new WaitForSeconds(secondVideo);
check=true;
}
}