LeanTween ничего не делает из-за временной шкалы 0. Что обходится? - PullRequest
1 голос
/ 18 марта 2020

Вот проблема. Я настроил табло и сделал так, чтобы мой наклон уменьшился на некоторых изображениях (количество звездочек) на табло.

Вот код, который вызывает пустоту:

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


public class ScoreBoard : MonoBehaviour
{

public float timerassesshigh; //change for every level (for gold)
public float timerassesslow; //change for every level (for silver)
public timer timer;
private SceneFadeEffect sceneFade;
private Scene scene;
public int nextLevelRecord;
private int levelcurrentat;
public string NextLevel;
public AudioSource leveldonedun;
private GameObject musicg;
public AudioSource music;
public Animator leveldonefade;
public Image leveldonefadesprite;
public GameObject buttons;
public rankaudioandlog rankaudioandlog;

private void Awake()
{
}


// Start is called before the first frame update
void Start()
{
    scene = SceneManager.GetActiveScene();
    levelcurrentat = PlayerPrefs.GetInt("levelreached");
    sceneFade = FindObjectOfType<SceneFadeEffect>();
    timer = FindObjectOfType<timer>();
    leveldonefade.enabled = false;
    leveldonefadesprite.enabled = false;
    buttons.SetActive(false);
}

public void leveldone()
{
    buttons.SetActive(true);
    leveldonefadesprite.enabled = true;
    leveldonefade.Rebind();
    leveldonedun.Play();
    music.Stop();
    if (timerassesshigh >= timer.time)
    {
        rankaudioandlog.gotgold();
    }
}

А вот код, который содержит наклон между

public class rankaudioandlog : MonoBehaviour
    {
        public AudioSource bronze;
        public AudioSource silver;
        public AudioSource gold;
        public GameObject goldobject;
        public GameObject silverobject;
        public GameObject bronzeobject;
        public AudioSource leveldonecue;
        private int levelnumberrank;
        public string levelnumber;
        public LeanTweenType InType;


        private void Start()
        {
            levelnumberrank = PlayerPrefs.GetInt(("rankoflevel") + (levelnumber));
        }

        public void gotgold()
        {
            Debug.Log("You got gold!" + "on level" + levelnumber);
            LeanTween.scale(bronzeobject, new Vector3(6.5f, 6.5f, 0f), 0.2f).setDelay(1.2f).setEase(InType);
            bronze.PlayDelayed(2f);
            LeanTween.scale(silverobject, new Vector3(6.5f, 6.5f, 0f), 0.2f).setDelay(2.2f).setEase(InType);
            silver.PlayDelayed(3f);
            LeanTween.scale(goldobject, new Vector3(6.5f, 6.5f, 0f), 0.2f).setDelay(3.2f).setEase(InType);
            gold.PlayDelayed(4f);
            cueendsong();
            if (levelnumberrank == 3)
            {
                return;
            }
            else
            {
                Debug.Log("I logged gold");
                PlayerPrefs.SetInt(("rankoflevel") + (levelnumber), 3);
            }
        }
        }

Теперь в другой функции, когда уровень заканчивается и вызывается табло, шкала времени становится равной 0 Вот почему перерыв не работает. Мне нужен обходной путь для этого. Временная шкала должна оставаться равной 0, а интервал должен начинаться

Спасибо ^^

1 Ответ

2 голосов
/ 18 марта 2020

ОК, я понял!

Мне просто нужно было добавить .setIgnoreTimeScale (true); подростку.

Извините за беспокойство, и, надеюсь, я тоже кому-то помог ^^.

...