#c# #unity3d #game-development
#c# #unity3d #разработка игр
Вопрос:
Я новичок в Unity и пытаюсь создать свою Первую игру.
Прямо сейчас я пытаюсь написать сценарий, заполняющий мое поле шестнадцатеричными символами, который выглядит так:
using System.Collections; using System.Collections.Generic; using UnityEngine; public class HexManager : MonoBehaviour { [SerializeField] private float _width, _height; [SerializeField] private float _Xstart, _Ystart, _Xstep, _Ystep, _shift; [SerializeField] private Hex _tilePrefab; [SerializeField] private Transform _cam; void Start() { GenerateGrid(); } void GenerateGrid() { for (float y = _Ystart, i = 0; y gt; _Ystart - _height * _Ystep; y -= _Ystep, i ) { float shift = 0; if (i % 2 != 0) shift = _shift; for (float x = shift _Xstart, j = 0; y lt; shift _Xstart _width * _Xstep; y = _Xstep, j ) { var spawnedTile = Instantiate(_tilePrefab, new Vector3(x, y), Quaternion.identity); spawnedTile.name = $"Hex {i} {j}"; } } } }
И каждый раз, во-первых, мой проект закрывается через несколько минут. Затем я пытаюсь перезапустить его, и появляется сообщение «похоже, что с открытым проектом запущен еще один экземпляр unity. Несколько экземпляров Unity не могут открыть один и тот же проект».
После этого я уже не могу запустить свой проект, когда я нажимаю кнопку «Воспроизвести», редактор просто зависает, и я могу закрыть его только с помощью диспетчера задач. Я пытался скопировать проект, воссоздать его, но каждый раз сталкивался с такой ошибкой. И так примерно пять раз
Также я читал на старых форумах, что причина в файле блокировки во временной папке, но я не могу его удалить. Конечно, я могу каждый раз создавать резервные копии своего проекта, но это будет слишком утомительно, если создавать большой проект
Комментарии:
1. Каковы значения ваших
[SerializeField]
переменных? Возможно, вы находитесь в бесконечном (или просто очень большом) цикле2. Обычно существуют числа int и float. Более того, эти скрипты могут запускаться и хорошо работать, но со временем проект рухнул