Как сделать начальный переход в игру при запуске игрового приложения? - PullRequest
0 голосов
/ 07 июня 2019

У меня проблема с пониманием того, почему моя первоначальная черная затухающая анимация дает сбои в первом кадре.В редакторе Unity, при запуске игры, моя анимированная анимация воспроизводится отлично, но после сборки Android, когда я запускаю игру, постепенная трансляция в первую сцену (главное меню) не работает.На первом кадре появляется вспышка всей сцены, после чего постепенное воспроизведение воспроизводится частично, и игра продолжается.Никаких сообщений об ошибках, никаких других проблем с игрой.

Интересная часть заключается в том, что я создал затухающую анимацию для своей кнопки выхода, и она работает отлично.

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

Вот ссылка на учебник, которая помогла мне частично: https://www.youtube.com/watch?v=Oadq-IrOazg

Менеджер сцен

using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class GManager : MonoBehaviour
{
    public GameObject menu;
    public GameObject options;
    public GameObject pause;
    public GameObject levelChanger;
    public bool hide;
    public bool show;

    public void UIDefaults()
    {
        hide = true;
        show = false;
    }

    //Start is called before the first frame update
    void Awake()
    {
        Application.targetFrameRate = 60;                   //Set the target frame rate to 60fps
        QualitySettings.vSyncCount = 1;                     // Sync framerate to monitors refresh rate


        levelChanger.GetComponent<Canvas>().enabled = true;
        menu.GetComponent<Canvas>().enabled = true;
        options.GetComponent<Canvas>().enabled = false;
        pause.GetComponent<Canvas>().enabled = false;
    }

    void Start()
    {
        StartCoroutine("OnStart");
    }

    IEnumerator OnStart()
    {
        yield return new WaitForSeconds(2.15f);
        levelChanger.GetComponent<Canvas>().enabled = false;
    }
}



Диспетчер пользовательского интерфейса - кнопка выхода

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine.UI;
using UnityEngine;

public class UIManager : MonoBehaviour
{
    public GameObject menu;
    public GameObject levelChanger;
    public Animator animatorLevelChanger;
    public Animator animatorMain;
    public bool hide;
    public bool show;

    public void UIDefaults()
        {
            hide = true;
            show = false;
        }
    /* --- EXIT APPLICATION --- */
    public void Exit()
        {
        UIDefaults();
        animatorMain.SetBool("MainBool", hide);
        StartCoroutine("OnExit");
        }

    IEnumerator OnExit()
    {
        yield return new WaitForSeconds(1.15f); // wait for animation to end.
        menu.GetComponent<Canvas>().enabled = false;
        levelChanger.GetComponent<Canvas>().enabled = true;
        animatorLevelChanger.SetTrigger("LevelFadeOut");
        yield return new WaitForSeconds(1f); 
        Application.Quit();
    }
    /* --- EXIT APPLICATION --- */
}

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

...