別のゲームオブジェクトなどにくっついているスクリプトのメソッドを実行する
のにgamecomponentを使ってみました。
以下のようにMainCameraのスクリプトからWarpPanelというゲームオブジェクトに
くっついているWarpPanerlというスクリプトのPlayMovieを呼び出すことで
ワープっぽい動画を再生させます。
ワープパネル連呼でわかりにくい。。。。
WarpPanelにmovieobjectと背景用にbacklayerを入れます。
MainCameraには、CameraControlを入れて
WarpPanelをアサインします。
各スクリプトは以下のような感じ!
WarpPanel
using UnityEngine;
using System.Collections;
public class WarpPanel : MonoBehaviour {
//setting
public bool IsPlay =false;
public GameObject MovieObject;
public GameObject MovieLayer;
private MovieTexture MovieTexture_;
void Start () {
MovieTexture_ = MovieObject.renderer.material.mainTexture as MovieTexture;
MovieObject.renderer.enabled = false;
MovieLayer.renderer.enabled = false;
MovieTexture_.loop = false;
//MovieTexture_.Play();
}
public void PlayMovie()
{
// 一度だけ再生
if (IsPlay == false)
{
IsPlay = true;
MovieLayer.renderer.enabled = true;
MovieObject.renderer.enabled = true;
MovieTexture_.Play();
}
}
public void StopMovie()
{
// 停止
if (IsPlay == true)
{
IsPlay = false;
MovieLayer.renderer.enabled = false;
MovieObject.renderer.enabled = false;
//MovieTexture_.Stop();
}
}
}
CameraControl
using UnityEngine;
using System.Collections;
public class CameraControl : MonoBehaviour {
public GameObject WarpPanelObject;
//public GameObject WarpMovie;
private MovieTexture MovieTexture_;
private WarpPanel WarpPanel_;
// Use this for initialization
void Start () {
WarpPanel_ = WarpPanelObject.GetComponent<WarpPanel> ();
WarpPanel_.PlayMovie ();
}
// Update is called once per frame
void Update () {
}
}