Unity не обновляет глобальную переменную при обновлении из функцииC#

Место общения программистов C#
Anonymous
Unity не обновляет глобальную переменную при обновлении из функции

Сообщение Anonymous »

У меня возникли проблемы с обновлением данных вектора2 из моей функции.
Цель этого вектора2 — сохранить позицию мертвого врага, но когда я использую его глобально, он переходит в 0,0, когда внутри функции он имеет правильные значения.
Вот код:

Код: Выделить всё

private Vector2 enemyPosition;

void Update()
{
Debug.Log("enemyPosition update: " + enemyPosition);
gameObject.transform.position = Vector2.MoveTowards(transform.position, enemyPosition, blobSpeed * Time.deltaTime);
}

public void createBlobMelee(GameObject enemy)
{
enemyPosition = new Vector2(enemy.transform.position.x, enemy.transform.position.y);
Debug.Log("enemyPosition: " + enemyPosition);
randomBlobx = Random.Range(-1, 1);
randomBloby = Random.Range(-1, 1);
Vector2 randomBlobCreate = new Vector2(enemy.transform.position.x + randomBlobx, enemy.transform.position.y + randomBloby);
Instantiate(gameObject, randomBlobCreate, Quaternion.identity);
}
А это результаты консоли отладки:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/619 ... m-function

Вернуться в «C#»