Циклы внутри циклов
Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 38 из 85.
Для ряда нужен один цикл. Для целого этажа из рядов и столбцов нужен цикл внутри цикла:
for (int column = 0; column < 3; column++)
{
for (int row = 0; row < 2; row++)
{
Debug.Log(column + ", " + row);
}
}При каждом проходе внешнего цикла внутренний цикл выполняется до конца. Поэтому выводятся 0, 0 и 0, 1, затем 1, 0 и 1, 1, затем 2, 0 и 2, 1: 3 столбца умножить на 2 ряда — всего 6 строк.
У двух циклов должны быть счётчики с разными именами. Здесь они названы по тому, что считают: column и row. Так код легче читать, чем если бы использовались i и j.
Задание
СреднеВыложи пол из 12 плиток: 4 столбца, 3 ряда.
- В
Start()замениPlaceTile(0, 0);наfor (int column = 0; column < 4; column++). - Внутри его фигурных скобок напиши
for (int row = 0; row < 3; row++)и вызовиPlaceTile(column, row);внутри этого внутреннего цикла.
Нажми «Играть»: появится пол из 4 на 3 плитки. Затем нажми «Проверить».
Попробуйте сами
using UnityEngine;
public class TileFloor : MonoBehaviour
{
void Start()
{
// Разместите плитки в 4 столбца и 3 ряда.
PlaceTile(0, 0);
}
void PlaceTile(int column, int row)
{
GameObject tile = GameObject.CreatePrimitive(PrimitiveType.Cube);
tile.name = "Tile";
tile.transform.position = new Vector3(column * 1.1f - 1.65f, 0.1f, row * 1.1f);
tile.transform.localScale = new Vector3(1, 0.2f, 1);
tile.GetComponent<Renderer>().material.color = new Color(0.85f, 0.85f, 0.9f);
}
}
Все уроки раздела Основы скриптинга в Unity
1Основы C# в Unity
Привет, UnityПеременныеДля дробных чисел нужна fТекст в консолиПеременные, которые запоминаютЕсли и иначеСравнение чиселПовторение: сборщик монет7Циклы и методы
Повторение с forЦиклы внутри цикловНапишите методМетоды, которые возвращают значениеМассивыПовторение: лестница10Поиск объектов
Поиск по имениТегиПоиск по типуСсылки лучше поискаNull в UnityПовторение: ближайшая монета13Проект: уворачиваемся от блоков
БегунБлоки с неба2Заставь двигаться
Размести кубДвигай каждый кадрПоворачивай каждую секундуУправляй клавишамиПовторение: веди куб5Векторы
Сложение векторовНаправленияЛокальное и мировое пространствоСкорость по диагоналиРасстояние между объектамиVector3 — это структураПовторение: пилот дрона8Игровые объекты и компоненты
Ссылки в InspectorПолучение компонентаОтсутствующие компонентыДобавление компонентаRequireComponentПоказ и скрытиеПовторение: выключатель светаПотренируйтесь самостоятельно: Песочница Unity