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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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