сопрограмма не работает правильно - PullRequest
0 голосов
/ 19 февраля 2019

Привет Возникли проблемы со следующей частью моего скрипта в c #.Я получаю сообщение об ошибке, прикрепленное к скриншоту экрана: GetComponent<Renderer>().

using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;

public class test: MonoBehaviour
{
    public float model2;
    public float model1;

    public void section1()
    {
        SceneManager.LoadScene("section1", LoadSceneMode.Single);
    }

    public void fade()
    {
       StartCoroutine(colorlerpin());
    }

    public IEnumerator colorlerpin()
    {    
        float ElapsedTime2 = 0.0f;
        float TotalTime2 = 1f;
        while (ElapsedTime2 < TotalTime2)
        {
            //  fades out main heart
            ElapsedTime2 += Time.deltaTime;
            model1.GetComponent<Renderer>().material.color = Color.Lerp(new Color(1f, 1f, 1f, 1f), new Color(1f, 1f, 1f, 0f), (ElapsedTime2 / TotalTime2));
            yield return null;
            //  fades in cutaway
            ElapsedTime2 += Time.deltaTime;
            model2.GetComponent<Renderer>().material.color = Color.Lerp(new Color(1f, 1f, 1f, 0f), new Color(1f, 1f, 1f, 1f), (ElapsedTime2 / TotalTime2));
            yield return null;
        }
    }
}

enter image description here

1 Ответ

0 голосов
/ 19 февраля 2019

Изображение показывает вам, в чем проблема: вы пытаетесь вызвать GetComponent для поля типа float, а не GameObject или MonoBehaviour.

floats - это простые числа, такие как 0.5 или 2, они не имеют компонентов.Вы можете изменить тип на GameObject / MonoBehaviour

...