@vladniksin

Почему ругается на Play() в GetComponent() — Unity?

Пытаюсь запустить анимацию а Animation. Второй день ломаю голову почему так? (комментарий в коде)

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

public class DetectClicks : MonoBehaviour
{
    public GameObject buttons, m_cube;
    public Text playText, gameName;
    private bool clicked;
    private void OnMouseDown()
    {
        if (!clicked)
        {
            clicked = true; //если еще не стартовали, то стартуем
            playText.gameObject.SetActive(false);//деактивируем 
            gameName.text = "0"; //обнуляем название игры
            buttons.GetComponent<ScrollObjects>().speed = -10;
            buttons.GetComponent<ScrollObjects>().checkPos = -180f;

            m_cube.GetComponent<Animation>().Play("GoToStart"); //тут ругается на Play
        }
    }
}


Ошибка CS1061 "Animation" не содержит определения "Play", и не удалось найти доступный метод расширения "Play", принимающий тип "Animation" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
@vladniksin Автор вопроса
Обновился, переписал, удалял, ничего не изменилось...
Решил вопрос через Animator.

m_cube.GetComponent<Animator>().Play("GoToStart");

Сам Animator пришлось немного понастраивать...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Должно работать, ошибки в коде нет.

Попробуйте:
- переписать строку заново, вручную
- удалить папку Library из проекта и после открыть проект
- перезапустить ПК
- обновить Unity (скажем вместо 2019.4.1 поставить 2019.4.<ПОСЛЕДНЯЯ-ВЕРСИЯ>)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы