Юнити выдаёт ошибку CS0165: Use of unassigned local variable 'chislo'
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class schotchickopibavlator : MonoBehaviour
{
GameObject schotchick;
// Start is called before the first frame update
void Start()
{
GameObject go = GameObject.Find("googlemenu");
schotchick schotchick = go.GetComponent<schotchick>();
float chislo = schotchick.chislo;
}
// Update is called once per frame
void update()
{
}
public void chislo()
{
float chislo = chislo+1f;
}
}
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Ошибка примитивная, использование не присвоенной переменной. Переменная имеет зону видимости, то есть в рамках {} скобок, где вы её объявили.
Например, если написать так
{
int i = 123;
}
{
int i = 42;
}
Здесь 2 разные переменные i.
Чтобы переменная стала общая, её надо вынести на уровень выше.
{
int i = 0;
{
i = 42;
}
{
i = i + 1;
}
{
В вашем случае это будет выглядеть так:
GameObject schotchick;
float chislo;
void Start()
{
GameObject go = GameObject.Find("googlemenu");
schotchick schotchick = go.GetComponent<schotchick>();
chislo = schotchick.chislo;
}
public void Chislo()
{
chislo = chislo + 1f;
}
Ещё называйте методы и классы с большой буквы.