#c# #arrays #loops #for-loop
#c# #массивы #циклы #цикл for
Вопрос:
Мы с моим другом взламывали это в течение нескольких часов, но мы просто не можем понять, что с этим не так. По сути, она выполняется через массив, и если кнопка должна быть заблокирована или доступна для взаимодействия, и если она равна null, она будет доступна для взаимодействия. При использовании префиксов проигрывателя эти настройки должны сохраняться в течение каждого сеанса работы с приложением.
Вот код:
for (i = 0; i < buttons.Length; i = i 1) {
if (PlayerPrefs.GetInt("button" string.Format i) == null) {
PlayerPrefs.SetInt("button" string.Format i, 1);
}
if (PlayerPrefs.GetInt("button" string.Format i) == 1) {
button.interactable = true;
} else {
button.interactable = false;
}
}
В настоящее время unity отображает 5 ошибок:
- ошибка CS1525: неожиданный символ `i’ (2 из них)
- ошибка CS1519: неожиданный символ `else’ в объявлении класса, структуры или элемента интерфейса
- ошибка CS1519: неожиданный символ `=’ в объявлении класса, структуры или элемента интерфейса
- ошибка CS8025: ошибка синтаксического анализа
Комментарии:
1.
i = 0;
строка должна быть inti = 0;
вот что вызывает ошибку символа.2. Крошечное улучшение: измените «i = i 1» на «i «.
Ответ №1:
Просто предположение, но вы должны написать:
for (int i = 0; i < buttons.Length; i) {
Возможно, вы забыли объявить i
Также эта строка:
PlayerPrefs.GetInt("button" string.Format i)
строка.Форматирование — это статический метод string
. Синтаксис неправильный. Вы можете записать это следующим образом:
PlayerPrefs.GetInt("button" i)
Или таким образом:
PlayerPrefs.GetInt(string.Format("button{0}",i));
Комментарии:
1. Спасибо, это решило мою проблему: D Извините, я новичок в C #, поэтому я еще не знаю весь синтаксис для строк и т.д.
2. Конечно! 🙂 Я рад, что смог помочь!
3. Ах, и если это помогло вам, пожалуйста, отметьте этот пост как ответ 🙂 Щелчок по флажку
4.
i
должно бытьi
5. в цикле for это не имеет значения, поскольку приращение является единственной операционной инструкцией. имеет смысл использовать ее как:
var value = i;