numeroSprite
объявлено как локальная переменная внутри IEnumerator Count()
. Это не существует вне этого метода. Если вы хотите иметь доступ к нему другим способом, сделайте его приватной переменной:
private int numeroSprite;
private IEnumerator Count()
{
for(int i = 0; i < _images.Length; i++)
{
var numeroSprite = Random.Range(0, _meusOutrosSprites.Length - 1);
_images[i].sprite = _meusOutrosSprites[numeroSprite];
}
yield return new WaitForSeconds(0);
}
public void PegarID(){
switch (numeroSprite){
// ...
или используйте numeroSpriteInt
, который вы уже объявили, но никогда не использовали таким же образом.
private int numeroSpriteInt;
private IEnumerator Count()
{
for (int i = 0; i < _images.Length; i++)
{
numeroSpriteInt = Random.Range(0, _meusOutrosSprites.Length - 1);
_images[i].sprite = _meusOutrosSprites[numeroSprite];
}
yield return new WaitForSeconds(0);
}
public void PegarID(){
switch (numeroSpriteInt){
// ...
Как уже сказал Программист в своих case
s, вы скорее хотите сделать
idImage = XY;
Вместо всего вашего переключателя мне кажется более разумным использовать что-то вроде
if(numeroSprite >=0 && numeroSprite <=10)
{
idImage = numeroSprite + 1;
}