скрипт для передвижения персонажа в unity 2d

Как заставить персонажа двигаться в Unity 2d

В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

На нашей сцене уже имеется заготовка персонажа с анимацией, добавим к ней компоненты Box Collider 2d и Rigidbody 2d и настроим компонент так как на скриншоте

скрипт для передвижения персонажа в unity 2d. rogibody2d. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-rogibody2d. картинка скрипт для передвижения персонажа в unity 2d. картинка rogibody2d. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Далее создадим скрипт к примеру TransformPlayer с таким кодом:

В этом скрипте указано, что при нажатии на кнопку w значение гравитации у персонажа меняется, а при отпускании, клавиши значение восстанавливается, таким образом, персонажа всегда падать, если не нажимать кнопку w.

Далее, как токового движения вперед у нас не реализовано, но симуляцию движения можно реализовать при помощи фоновых объектов.

Добавим на сцену спрайты земли и продублируем 4 раза, на каждый компонент вешаем те же компоненты Box Collider 2d и Rigidbody 2d, создадим еще один скрипт TransformGround

скрипт для передвижения персонажа в unity 2d. ground. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-ground. картинка скрипт для передвижения персонажа в unity 2d. картинка ground. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Теперь подробнее… Создадим на камере два пустых объекта, один разместим слева и добавим Box Collider 2d и Rigidbody 2d, так же присвоим ему тэг, который указали в скрипте barer, а другой справа. Примерно так…

скрипт для передвижения персонажа в unity 2d. gameobject. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-gameobject. картинка скрипт для передвижения персонажа в unity 2d. картинка gameobject. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

На объектах «земли» укажем этот объект который справа.

Теперь можно поверить запустив игру

скрипт для передвижения персонажа в unity 2d. transformrigibodi. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-transformrigibodi. картинка скрипт для передвижения персонажа в unity 2d. картинка transformrigibodi. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Птица управляется, движение земли создает эффект движения птицы. В следующих уроках можно реализовать рандомное появление объектов на сцене и столкновение персонажа с ними. На это все удачных проектов.

Источник

Продолжаем делать наш Unity for dummies платформер.

Полные версии кода будут находиться в конце поста.

Если вы не в курсе, как работают хуки жизненного цикла в Unity, вы можете ознакомиться с данной статьёй.

Создаём в панели ассетов C# cкрипт PlayerBehaviour, и запихиваем его в папку Scripts (её можно создать в той же панели ассетов).

Затем выбираем наш объект Player слева, в меню иерархии, и закрепляем инспектор (меню справа), нажав на замок в верхнем правом углу.

Пока закрываем все ненужные компоненты (Box Collider 2D, etc), нажимая на стрелочку у каждого из них.

Теперь перетаскиваем наш скрипт в инспектор, и он прикрепляется к объекту Player (если вы не выполнили предыдщуий пункт с закрепением меню, то вы этого сделать не сможете).

Если зайти в Edit => Project Settings => Input Manager, то мы можём увидеть настройки управления. Например, прыжок (Jump) назначен на пробел, в то время, как движение по горизонтали назначено на a, d, ←,→.

Запомним это для того, чтобы затем использовать в коде (названия инпутов Jump, Horizontal).

Пора покодить. Два раза нажимаем на наш скрипт PlayerBehaviour, и Unity отдаст его в руки Visual Studio.

Сохраняем файл, и переходим обратно в Unity. После того, как Unity проверит код (линтинг, ошибки, пустые переменные). Если что то неправильно, то вы увидите сообщение об ошибке.

Исправляем код, и страшные красные буквы исчезают. Можно запустить игру, и проверить, как все работает.

Мне не нравится, что персонажа переворачивает. Исправим.

Заходим в инспектор, открываем Rigidbody2D и ставим галочку на Freeze Rotation Z.

Есть два основных способа научить камеру двигаться за персонажем.

1. Подвинуть камеру внутри сцены, чтобы она была на персонаже, а затем в привязать камеру к объекту персонажа через меню иерархии.

2. Задать движение камеры за персонажем програмно.

Создаём скрипт CameraBehaviour, и привязываем его к объекту Main Camera (добавляем через инспектор).

Открываем наш новый скрипт, и начинаем кодить (да, мне на работе не хватает, продолжаю и после).

Фиксируем объект камеры на замок в инспекторе, и перетаскиваем наш объект Player в GameObject.

Теперь камера двигается за игроком.

Однако камера постоянно вылезает за пределы уровня, показывая синий фон.

Я не уверен, что моё решение правильное. Буду рад, если кто-нибудь поделится своими соображениями на данный счёт.

Добавляем в наш скрипт CameraBehaviour следующий код:

Двигаем камеру, и снимаем наши измерения ее положений.

На скрине ниже камера стоит в левом нижнем углу сцены.

Проставляем снятые позиции для камеры (мои и ваши позиции будут отличаться).

Теперь обновим метод UpdateCameraPosition в скрипте CameraBehaviour

Отлично, камера перестала «гулять». Работаем дальше.

Выбираем наш Foreground, и создаём новый слой ‘Ground’ в инспекторе.

Снова тыкаем на Foreground, и выбираем в поле Layer наш только что созданный слой.

Добавим в PlayerBehaviour такую строчку.

Теперь в объекте Player мы можем выбрать наш свежесозданный слой.

Обновляем наш PlayerBehaviour. Добавим коллайдер (rigidBody мы создавали ранее).

Теперь мы можем обновить обработку перемещения персонажа в методе updatePlayerPosition

Летать мы разучились, а по платформе больше не скользим. Победа!

Я не уверен, что моё решение правильное. Буду рад, если кто-нибудь поделится своими соображениями на данный счёт

Привет.
Я, конечно, дохуя вовремя, когда у тебя уже пять статей и рефакторинг, но вот щас иду за тобой пока вот на этом месте.
Короче, в ассет-сторе есть проект 2D Game Kit от разрабов движка. Там движение камеры сделано буквально следующим образом, если помню (давно открывал). Уровень завёрнут в коллайдер, ещё один коллайдер на камере. Соответственно, когда она о него стукается, то расслабляется и не двигается. И ещё там угарный камера-лаг стоит, чтоб камера не жёстко следовала за персонажем, а как бы за верёвочку.

Привет.
Да, я изначально так и пробовал.
Но персонаж, почему-то, попросту исчезает при старте игры.
Попробую ради эксперимента новый проект создать.

Источник

Как научить персонажа двигаться в Unity 2D и 3D

скрипт для передвижения персонажа в unity 2d. unity min. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-unity min. картинка скрипт для передвижения персонажа в unity 2d. картинка unity min. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Привет, друзья! Давайте начнем обучение созданию игр на Unity (Юнити). Мы публикуем уроки Юнити бесплатно, чтобы вы смогли познакомиться с этой средой и узнать, как устроен язык программирования C# (Си Шарп). В этом уроке разберем как сделать управление персонажем и прыжки в 2D- и 3D-проекте.

Управление персонажем в 3D

скрипт для передвижения персонажа в unity 2d. unnamed. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-unnamed. картинка скрипт для передвижения персонажа в unity 2d. картинка unnamed. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».
Создаем скрипт и даем ему название на английском языке.

скрипт для передвижения персонажа в unity 2d. unnamed 2. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-unnamed 2. картинка скрипт для передвижения персонажа в unity 2d. картинка unnamed 2. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».
Управление персонажем в 2D

Для работы потребуется два спрайта — для персонажа и для земли. Перемещаем персонажа и землю на сцену. С помощью клавиш CTRL+D дублируем землю.

скрипт для передвижения персонажа в unity 2d. unnamed 3. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-unnamed 3. картинка скрипт для передвижения персонажа в unity 2d. картинка unnamed 3. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».
Создаем пустой объект. И в него перемещаем все объекты земли.

скрипт для передвижения персонажа в unity 2d. unnamed 5. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-unnamed 5. картинка скрипт для передвижения персонажа в unity 2d. картинка unnamed 5. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».
Персонажу добавляем физику и коллайдер и так же настраиваем границы коллайдера.

скрипт для передвижения персонажа в unity 2d. unnamed 6. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-unnamed 6. картинка скрипт для передвижения персонажа в unity 2d. картинка unnamed 6. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».
Создаем скрипт на C#

Теперь отражаем наш спрайт в зависимости от того, в какую сторону движется наш персонаж. Условием If проверяем. Если нажали клавишу для перемещения вправо, а персонаж направлен влево, то поворачиваем спрайт вправо. С else if — обратная ситуация.

И теперь сама функция Flip. В ней мы отражаем спрайт по оси X и задаем размеры, чтобы из-за отражения не исказились размеры спрайта.

скрипт для передвижения персонажа в unity 2d. unnamed 7. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-unnamed 7. картинка скрипт для передвижения персонажа в unity 2d. картинка unnamed 7. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».
Сохраняем скрипт и перемещаем его на персонажа. Запускаем Юнити и проверяем.

В школе “Пиксель” мы ведем полный курс обучения Unity 3D для детей и подростков. Изучая наши уроки Си Шарп, вы быстро освоите азы программирования и научитесь создавать свои игры.

Источник

Основы создания 2D персонажа в Unity 3D 4.3. Часть 2: бегущий персонаж

Всем привет. Продолжаем дело, начатое в первой части. Сейчас у нас есть платформа и стоящий на ней персонаж с анимацией покоя. Настало время научить нашего персонажа бегать вправо-влево по платформе.

Загрузим сцену из первой части. Напомню, что в прошлый раз мы импортировали несколько спрайтов в папку AssetsSprites. На всякий случай, внизу поста еще раз приведу ссылку на спрайты. Среди них должен быть спрайт под названием Run. Мы будем использовать его для создания анимации бега. Для этого нам надо проделать те же действия по превращению одиночного спрайта в коллекцию, как и при создании анимации покоя. Вкратце напомню: выделяем спрайт, в окне Inspector устанавливаем свойство Sprite Mode как Multiple, нажимаем ниже Sprite Editor, нарезаем изображение в режиме Grid или Automatic.

скрипт для передвижения персонажа в unity 2d. image loader. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-image loader. картинка скрипт для передвижения персонажа в unity 2d. картинка image loader. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Теперь в окне Hierarchy выбираем Character и переходим в окно Animation. Нажимаем на поле с анимацией Idle и выбираем Create New Clip, чтобы создать анимацию бега. Сохраним файл анимации в папке AssetsAnimations под именем Run.

скрипт для передвижения персонажа в unity 2d. image loader. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-image loader. картинка скрипт для передвижения персонажа в unity 2d. картинка image loader. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Новая созданная анимация Run стала текущей в окне Animation. Разворачиваем спрайт Run в окне Project, выделяем все фалы Run_0… Run_9 и перетаскиваем в окно Animation. Установим пока значение Sample равное 24.

скрипт для передвижения персонажа в unity 2d. image loader. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-image loader. картинка скрипт для передвижения персонажа в unity 2d. картинка image loader. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Все это мы уже делали в первой части, а теперь будет нечто новое. Перейдем в окно Animator. Сейчас там отображены три анимации: Any State, Idle и Run. Нам предстоит задать условия перехода из анимации Idle в анимацию Run, то есть из состояния покоя в состояние бега. В нижнем левом углу есть поле Parameters. Нажимаем на плюсик, выбираем Float и называем новый параметр как Speed. Тем самым мы создали параметр типа число с плавающей запятой, обозначающий скорость перемещения персонажа. Именно в зависимости от значения этого параметра будет происходить переключение из анимации покоя в анимацию бега. Теперь нажимаем правой кнопкой мыши на анимацию Idle, выбираем Make Transition и нажимаем левой кнопкой мыши на анимацию Run. Между анимациями появится линия со стрелкой. Передвиньте мышкой прямоугольники анимации, если плохо видно. Кликнем по линии со стрелкой. В окне Inspector отобразятся свойства перехода между анимациями. Обратим внимание на низ окна, в раздел Conditions. Кликнем на параметр Exit Time и поменяем его на Speed. Второе поле Greater оставим без изменений, а в третьем введем значение 0.01. Мы создали условие перехода из анимации покоя в анимацию бега — оно происходит, когда значение параметра скорости становится немногим больше нуля.

скрипт для передвижения персонажа в unity 2d. image loader. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-image loader. картинка скрипт для передвижения персонажа в unity 2d. картинка image loader. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Теперь нужно сделать обратный переход — из Run в Idle. Делаем все с точностью наоборот: Make Transition от Run к Idle, выделяем переход, в Conditions устанавливаем SpeedLess0.01.

скрипт для передвижения персонажа в unity 2d. image loader. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-image loader. картинка скрипт для передвижения персонажа в unity 2d. картинка image loader. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Теперь у нас есть две анимации и условия перехода между ними. Но пока ничего работать не будет, потому что все что мы сделали нужно «оживить» при помощи скрипта. Давайте перейдем в окно Project и создадим в папке Assets подпапку Scripts. Добавим в нее новый C# Script, назовем его CharacterControllerScript и откроем на редактирование.

скрипт для передвижения персонажа в unity 2d. image loader. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-image loader. картинка скрипт для передвижения персонажа в unity 2d. картинка image loader. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Я приведу полный листинг скрипта с подробными комментариями, а ниже еще поясню, что в нем происходит.

Итак, мы завели несколько переменных: для задания максимальной скорости перемещения, для определения направления (вправо/влево) и для работы с компонентом Animator. Почти все действия происходят в методе FixedUpdate. В нем мы получаем значение оси Х, которое меняется при нажатии на клавиатуре клавиш влево-вправо или A-D (если не меняли соответствующие настройки проекта!). Затем устанавливаем это значение параметру Speed компонента Animator. Обратите внимание, что мы берем модуль этого значения при помощи метода Mathf.Abs, так как при создании условий перехода между анимациями покоя и бега мы сравниваем значение параметра с положительным числом 0.01. Нам здесь не важно, в какую сторону бежит персонаж. Важно лишь величина значения. Далее задаем скорость перемещения по оси Х в соответствии со значением максимальной скорости. И, наконец, проверяем, в какую сторону бежит персонаж, и в какую сторону он в этот момент повернут. Если он бежит вправо, а повернут влево — разворачиваем его вправо путем инвертирования его размера по оси Х. И наоборот. Этим нехитрым способом мы избавились от необходимости делать две анимации вместо одной: для бега вправо и для бега влево.

Сохраняем скрипт. В Unity перетаскиваем его на нашего Character в окне Hierarchy. Запускаем игру, нажимаем влево-вправо или A-D.

скрипт для передвижения персонажа в unity 2d. image loader. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-image loader. картинка скрипт для передвижения персонажа в unity 2d. картинка image loader. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Капитан Коготь теперь умеет бегать! Скорость анимации получилась быстроватой. Ее можно снизить путем уменьшения значения Sample в окне Animation для анимации Run (значение 12 будет нормально). Если одновременно с игрой у вас видно окно Animator, то вы увидите, что во время покоя работает анимация Idle (бегает синий прогрессбар), а во время бега происходит переход на анимацию Run, и, соответственно, работает она.

На этом пока все. Нам осталось разобраться с прыжками… и узнать при этом еще несколько новых вещей!
Ссылка на спрайты.

Источник

Unity — базовые скрипты движения

В этом уроке мы напишем код, который заставляет gameObject перемещаться вверх, вниз, влево и вправо в зависимости от ввода пользователя. Это должно помочь нам легче понять процесс написания сценариев Unity.

Давайте начнем с нашего сценария движения. Создайте новый сценарий и назовите его «Движение».

Теперь откройте сценарий, и вы увидите то же, что вы видели на последнем уроке.

Переменная отображается как редактируемое поле внутри редактора, поэтому вам не нужно вручную корректировать значения в коде.

Переменная отображается как редактируемое поле внутри редактора, поэтому вам не нужно вручную корректировать значения в коде.

Если мы сохраним этот скрипт, не затрагивая другие методы, он должен скомпилироваться в Unity.

(Вы можете увидеть, когда он компилируется скрипт для передвижения персонажа в unity 2d. buffer. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-buffer. картинка скрипт для передвижения персонажа в unity 2d. картинка buffer. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».значок в правом нижнем углу.)

Затем перетащите сценарий из активов в GameObject. Если вы делаете это правильно, это то, что вы должны увидеть в свойствах GameObject —

скрипт для передвижения персонажа в unity 2d. drag and drop. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-drag and drop. картинка скрипт для передвижения персонажа в unity 2d. картинка drag and drop. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Поскольку значение скорости является регулируемым и не требует постоянного изменения кода, мы можем использовать метод update () вместо start ().

Давайте теперь рассмотрим цели для метода обновления —

Проверьте пользовательский ввод.

Если есть пользовательский ввод, прочитайте инструкции по вводу.

Измените значения положения преобразования объекта в зависимости от его скорости и направления. Для этого мы добавим следующий код —

Проверьте пользовательский ввод.

Если есть пользовательский ввод, прочитайте инструкции по вводу.

Измените значения положения преобразования объекта в зависимости от его скорости и направления. Для этого мы добавим следующий код —

Давайте теперь обсудим код в кратком изложении.

Класс Input отвечает за получение ввода от пользователя в виде нажатия клавиш, ввода мышью, ввода с контроллера и так далее. Метод GetAxisRaw немного сложнее для понимания, поэтому мы вернемся к этому позже.

Сохраните этот скрипт и возвращайтесь в Unity. Unity автоматически обновит все сценарии после успешной компиляции, поэтому вам не придется повторно подключать сценарий снова и снова.

Теперь, когда вы закончите, измените значение скорости в свойствах GameObject на 0,8. Это важно, потому что более высокое значение заставит игрока двигаться слишком быстро.

скрипт для передвижения персонажа в unity 2d. speed value. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-speed value. картинка скрипт для передвижения персонажа в unity 2d. картинка speed value. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Теперь нажмите Play и увидите свою первую маленькую игру в действии!

скрипт для передвижения персонажа в unity 2d. play. скрипт для передвижения персонажа в unity 2d фото. скрипт для передвижения персонажа в unity 2d-play. картинка скрипт для передвижения персонажа в unity 2d. картинка play. В прошлой статье мы рассказывали вам как создать анимацию в 2d проекте Unity5. В этой статье мы продолжим и реализуем движение нашей «птицы» — персонажа при помощи компонента rigidbody 2d «физики».

Попробуйте нажать клавиши со стрелками и перемещаться. Чтобы остановить игру, просто нажмите Play еще раз. Вы даже можете регулировать скорость в режиме реального времени, чтобы вам не приходилось останавливаться и запускать ее постоянно.

На следующем уроке мы узнаем о твердых телах и столкновениях.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *