Когда я не уничтожаю объект, очки просто продолжают добавляться, пока я не переместлю игрока.Как это исправить?Я тоже не хочу отключать коллайдер.
void OnCollisionEnter(Collision hit) { if (hit.gameObject.tag == "Enemy") { score++; } }
Этот вопрос нуждается в дополнительном контексте того, что происходит в Unity, но мне кажется, что вы хотели бы использовать HashSet: https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.hashset-1?view=netframework-4.8
Это HashSet<GameObject> будет атрибутом вашего скрипта, и вы добавите к нему объект hit.game. Каждый раз, когда вы получаете OnCollisionEnter, вы выполняете Contains() в HashSet, если объект не существует, вы добавляете его и увеличиваете счет, если объект уже существует, тогда вы ничего не делаете.
HashSet<GameObject>
Contains()