using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
using VRStandardAssets.Utils;
public class TriggerManager : MonoBehaviour {
//public float fadeSpeed = 1.5f;
//private bool sceneStarting = true;
//private bool FadeToBlackOk = false;
//private RawImage rawImage = null;
//public GameObject RawImage;
public GameObject CameraPath;
private AudioSource Scene02Aud;
public VRCameraFade vrcf;
private AsyncOperation asop;
void Awake()
{
//CameraPath.SetActive(false);
//rawImage = RawImage.GetComponent<RawImage>(); //獲得RawImage組件對(duì)象
//rawImage.color = new Color(0, 0, 0, 1);
}
void Start()
{
Scene02Aud = GetComponent<AudioSource>();
Scene02Aud.Stop();
}
//void FadeToClear()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.clear, fadeSpeed * Time.deltaTime);
//}
//void FadeToBlack()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.black, fadeSpeed * Time.deltaTime);
//}
void OnTriggerEnter(Collider other)
{
Debug.Log(1111);
if (other.name.Contains("Fade"))
{
Debug.Log(222);
//StartCoroutine(FadeOutToScene_03());
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(ChangeScene());
}
}
if (other.name.Contains("Video_01"))
{
EventManager.Instance.OpenAud_01();
}
else if (other.name.Contains("Video_02"))
{
EventManager.Instance.OpenAud_02();
}
else if (other.name.Contains("Swim"))
{
Debug.Log(2222);
EventManager.Instance.whaleSwim();
}
else if (other.name.Contains("Take"))
{
Debug.Log(2222);
EventManager.Instance.whaleTake();
}
else if (other .name .Contains("Idel"))
{
EventManager.Instance.whaleTakeToIdel();
}
else if (other.name.Contains("Blink"))
{
EventManager.Instance.whaleIdelToBlink();
}
else if (other.name.Contains("BK"))
{
EventManager.Instance.whaleBlinkToBlink_02();
}
else if (other.name.Contains("KK"))
{
EventManager.Instance.whaleBlink_02ToBlink();
}
else if (other.name.Contains("SSS"))
{
Debug.Log(6666);
EventManager.Instance.whaleBlinkToTake();
}
else if (other.name.Contains("Tail"))
{
EventManager.Instance.OpenAud_03();
}
else if (other.name.Contains("Intro"))
{
EventManager.Instance.OpenAud_04();
}
}
IEnumerator ChangeScene()
{
asop = SceneManager.LoadSceneAsync(Application.loadedLevel+1);
asop.allowSceneActivation = false;
yield return new WaitForSeconds(2f);
asop.allowSceneActivation = true;
}
void Update()
{
if (Input.GetKeyDown(KeyCode.O))
{
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(ChangeScene());
}
}
}
//IEnumerator FadeOutToScene_03()
//{
// Debug.Log(333);
// yield return new WaitForSeconds(3f);
// Debug.Log(444);
// //EndScene();
//}
//褪色的方法
//void StartScene()
//{
// FadeToClear();
// if (rawImage.color.a <= 0.05f)
// {
// rawImage.color = Color.clear;
// rawImage.enabled = false;
// CameraPath.SetActive(true);
// Scene02Aud.Play();
// sceneStarting = false;
// }
//}
//從透明變白的方法
//public void EndScene()
//{
// rawImage.enabled = true;
// FadeToBlackOk = true;
//}
//void Update()
//{
// //如果sceneStarting = true,開始褪色;
// if (sceneStarting)
// {
// StartScene();
// }
// //如果FadeToBlackOk = true,
// else if (FadeToBlackOk)
// {
// //開始執(zhí)行從透明變?yōu)榘咨姆椒? // FadeToBlack();
// Debug.Log("aaaaa");
// //如果透明度 >= 0.95f, 開始跳轉(zhuǎn)場(chǎng)景
// if (rawImage.color.a >= 0.95f)
// {
// Debug.Log("bbbbbb");
// SceneManager.LoadScene("02_ScenesShow");
// }
// }
//}
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using VRStandardAssets.Utils;
public class SharkManager : Singleton<SharkManager>
{
private AsyncOperation asop;
public GameObject Shark;
AnimatorStateInfo animatorInfo;
public Animator SharkAnim;
public GameObject Path_01;
public GameObject Path_02;
public GameObject RockPath_01;
public GameObject RockPath_02;
public GameObject SubMarinePath;
public GameObject LanternsPath;
public GameObject Lanterns;
public AudioClip nervousClip;
public AudioSource audSou;
private bool PlayClip_01;
//public MeshRenderer mesh;
private Material[] mat;
//public GameObject RAW;
//private RawImage rawImage;
public float fadeSpeed = 1.5f;
private bool sceneStarting = true;
private bool FadeToBlackOk = false;
public VRCameraFade vrcf;
// Use this for initialization
void Awake()
{
//rawImage = RAW.GetComponent<RawImage>();
//rawImage.color = new Color(0, 0, 0, 1);
Lanterns.SetActive(true);
//mesh = GetComponent<MeshRenderer>();
audSou = GetComponent<AudioSource>();
audSou.Stop();
}
void Start() {
//Material mat = mesh.material;
PlayClip_01 = false;
//audSou.Play();
SharkAnim = Shark.GetComponent<Animator>();
Path_01.SetActive(true);
Path_02.SetActive(false);
RockPath_01.SetActive(false);
RockPath_02.SetActive(false);
SubMarinePath.SetActive(false);
LanternsPath.SetActive(false);
}
// Update is called once per frame
//void FadeToClear()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.clear, fadeSpeed * Time.deltaTime);
//}
//void FadeToBlack()
//{
// rawImage.color = Color.Lerp(rawImage.color, Color.black, fadeSpeed * Time.deltaTime);
//}
public void SharkSwim()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("swim"))//注意這里指的不是動(dòng)畫的名字而是動(dòng)畫狀態(tài)的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("SwimToOpen");
}
}
public void SharkClose()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("open"))//注意這里指的不是動(dòng)畫的名字而是動(dòng)畫狀態(tài)的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("OpenToSwim");
}
}
public void SharkWorry()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("swim"))//注意這里指的不是動(dòng)畫的名字而是動(dòng)畫狀態(tài)的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("SwimToWarry");
}
}
public void SharkWorryToSwim()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("worry"))//注意這里指的不是動(dòng)畫的名字而是動(dòng)畫狀態(tài)的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("WorryToSwim");
}
}
public void SharkSwimToAttack()
{
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("swim"))//注意這里指的不是動(dòng)畫的名字而是動(dòng)畫狀態(tài)的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("SwimToAttack");
}
}
public void SharkAttackToSwim()
{
Debug.Log("PPP");
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("attack"))//注意這里指的不是動(dòng)畫的名字而是動(dòng)畫狀態(tài)的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("AttackToSwim");
}
}
public void PathTwo()
{
Debug.Log("PPP");
animatorInfo = SharkAnim.GetCurrentAnimatorStateInfo(0);
if (animatorInfo.IsName("attack"))//注意這里指的不是動(dòng)畫的名字而是動(dòng)畫狀態(tài)的名字
{
Debug.Log(333);
// SharkAnim.speed = 0.7f;
SharkAnim.SetTrigger("AttackToSwim");
}
}
public void ShowRockPath()
{
RockPath_01.SetActive(true);
}
public void HideRockPath()
{
RockPath_01.SetActive(false );
}
public void ShowRock_02()
{
RockPath_02.SetActive(true );
}
public void ShowAndHide()
{
Path_02.SetActive(true);
Path_01.SetActive(false);
}
public void ShowSubMarinePath()
{
SubMarinePath.SetActive(true );
}
public void NervousAudio()
{
audSou.Play();
}
public void QuitScene()
{
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(FadeOutToScene_03());
}
}
public void ShowLanternsPath()
{
LanternsPath.SetActive(true);
}
public void HideLanternsPath()
{
LanternsPath.SetActive(false );
Lanterns.SetActive(false );
}
IEnumerator FadeOutToScene_03()
{
// Debug.Log(333);
// yield return new WaitForSeconds(2f);
// Debug.Log(444);
//// EndScene();
asop = SceneManager.LoadSceneAsync(Application.loadedLevel + 1);
asop.allowSceneActivation = false;
yield return new WaitForSeconds(2f);
asop.allowSceneActivation = true;
}
//褪色的方法
//void StartScene()
//{
// FadeToClear();
// if (rawImage.color.a <= 0.05f)
// {
// rawImage.color = Color.clear;
// rawImage.enabled = false;
// //CameraPath.SetActive(true);
// //Scene02Aud.Play();
// sceneStarting = false;
// }
//}
//從透明變白的方法
//public void EndScene()
//{
// rawImage.enabled = true;
// FadeToBlackOk = true;
//}
void Update()
{
if (Input.GetKeyDown(KeyCode.O))
{
if (vrcf != null)
{
vrcf.FadeOut(true);
StartCoroutine(FadeOutToScene_03());
}
}
// //如果sceneStarting = true,開始褪色;
// if (sceneStarting)
// {
// StartScene();
// }
// //如果FadeToBlackOk = true,
// else if (FadeToBlackOk)
// {
// //開始執(zhí)行從透明變?yōu)榘咨姆椒? // FadeToBlack();
// Debug.Log("aaaaa");
// //如果透明度 >= 0.95f, 開始跳轉(zhuǎn)場(chǎng)景
// if (rawImage.color.a >= 0.95f)
// {
// Debug.Log("bbbbbb");
// SceneManager.LoadScene("04_End");
// // Application.Quit();
// }
// }
}
}
D動(dòng)畫切換
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 本節(jié)通過一個(gè)簡(jiǎn)單的射擊子彈的示例來介紹Transform的用法。子彈射擊本身很容易制作,只要制作一個(gè)子彈Prefa...
- ##反射面的代碼 using UnityEngine; using System.Collections; // ...
- 該系列筆記基于Unity3D 5.x的版本學(xué)習(xí),部分API使用和4.x不一致。 目前在Unity3D中,除了新的U...