Similar presentations:
Занятие 1 год 2
1.
ПОВТОРЕНИЕ2.
ТГК РАЗРАБОТКИИГР НА UNITY
clck.ru/3VtUph
3.
Золотая дюжина ипроекты
4.
Начинаем!5.
Вводим данные от аккаунта (илисоздаём его
6.
Создание проекта7.
Создание проекта8.
Основные окна и управление9.
Создание объектов10.
Компоненты11.
Камера12.
Package Manager13.
Ассеты!14.
Ищем префаб15.
Ставим префаб на сцену!16.
Создание префабов17.
Скриптинг на C#18.
Скриптинг на C#19.
Скриптинг на C#20.
Скриптинг на C#21.
Операции с переменными22.
ОДНО И ТОЖЕ!23.
СТРОКИ МОЖНО СКЛАДЫВАТЬ, НОНЕЛЬЗЯ ВЫЧИТАТЬ!
24.
Как заставить скрипт работать?25.
Практика!Представь, что игрок в 3D-головоломке подходит к рычагу, который открывает дверь.
Нужно рассчитать энергию, чтобы понять — хватит ли сил сдвинуть рычаг.
Создай скрипт LeverEnergy.cs и прикрепи его к объекту-рычагу.
Объяви переменные:
• int crystals = 4; — собрано кристаллов
• int energyPerCrystal = 15; — энергия за каждый кристалл
• float leverResistance = 2.5f; — сопротивление рычага
• float playerStrength = 10f; — сила игрока
Затем через print() выведи:
• Общую энергию кристаллов: crystals * energyPerCrystal
• Силу,
оставшуюся
после
преодоления
сопротивления:
playerStrength
leverResistance
• Итоговую мощность рычага: (crystals * energyPerCrystal) / leverResistance
-
26.
Практика!В 3D-головоломке игрок толкает камень по комнате и должен поставить его на
нажимную плиту.
Создай скрипт StoneOnPlate.cs и повесь его на камень.
В скрипте объяви:
• float stoneWeight = 12.5f;
• float pushForce = 4f;
• float distanceToPlate = 30f; — расстояние до плиты
• int pushes = 5; — сколько раз игрок толкнул камень
Посчитай и выведи через print():
Пройденное расстояние: pushForce * pushes
Оставшееся расстояние: distanceToPlate - (pushForce * pushes)
Средний вес на одну плиту (если плит две): stoneWeight / 2
27.
Практика!Игрок перемещается по комнатам, собирает ключи и открывает двери.
Создай скрипт DoorAndKeys.cs и прикрепи его к двери.
Объяви:
• doorName (название двери),
• keysFound (количество ключей),
• keysNeeded (сколько ключей необходимо),
• hasLever (нажат ли рычаг),
• playerLevel (уровень игрока).
Проверь и выведи через print():
• Сообщение: "Синяя дверь: ключей 3 из 4"
• bool canOpen = keysFound == keysNeeded;
• bool canTry = keysFound > 0 && playerLevel * 2 >= keysNeeded;
• Сколько ключей не хватает: keysFound - keysNeeded
28.
Transform, Rigidbody, Collider29.
Transform, Rigidbody, Collider30.
Практика!Создай скрипт MagicBall.cs и повесь его на шар с компонентами Rigidbody и Collider.
В методе Start() объяви всего три переменные:
• Transform tr = GetComponent<Transform>();
• Rigidbody rb = GetComponent<Rigidbody>();
• float pushPower = 2f; — сила толчка
Затем через print() выведи:
"Старт: X = " + tr.position.x
Задай силу: pushPower (rb.AddForce(Vector3.left);
Выведи новую позиция по X: tr.position.x;
Подсказка: tr.position.x и rb.mass — это обычные числа, с ними работают как с float.