<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

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

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Canvas и JavaScript. Анимация

Canvas и JavaScript. Анимация

Замечательно то, что на Canvas можно не только рисовать, но и анимировать объекты. Для этого у JavaScript есть полный набор инструментов. Вы узнаете, как заставить нарисованные в Canvas геометрические фигуры, двигаться. Суть анимации заключается в очистке Canvas и отрисовке нового положения фигуры. Для этого нужно создать функцию и вызывать ее через заданный интервал времени.

Создание области для рисования


// Создание холста
<canvas id="drawRound" width="600" height="300"></canvas>

// CSS стили
#canvas {
    width: 600px;
    height: 300px;
    margin: 40px;
    background-image: url(grid.png);
}

Рисование квадрата

Занесем X координату со значением 75 в переменную positionX, поскольку квадрат будет двигаться по горизонтали.

let canvas = document.getElementById('canvas'); // получение холста в документе
let ctx = canvas.getContext('2d'); // получение контекста рисования
let positionX = 75; // начальная позиция X координаты

ctx.beginPath();
ctx.fillStyle = "pink"; // цвет заливки
ctx.rect(positionX, 75, 75, 75); // x, y, width, height
ctx.fill();

Анимация движения квадрата

Метод setInterval принимает два атрибута: функцию и заданный интервал времени. Функция очищает холст от текущего положения квадрата и каждый раз рисует новый квадрат, увеличивая значение переменной positionX на единицу. Когда позиция достигает значения ширины холста 600 пикселей, то есть квадрат выходит за границы canvas, то начальному значению позиции квадрата присваивается значение 75. Квадрат возвращается в исходную позицию и анимация начинается заново. Таким образом функция будет запускаться каждые 60 миллисекунд. Чем короче интервал времени, тем выше скорость движения фигуры.


Canvas и JavaScript. Анимация.


let canvas = document.getElementById('canvas'); // получение холста в документе
let ctx = canvas.getContext('2d'); // получение контекста рисования
let positionX = 75; // начальная позиция X координаты

setInterval(function() {
    ctx.beginPath();
    ctx.clearRect(0,0,600,300); // очистка холста
    ctx.fillStyle = "pink"; // цвет заливки
    ctx.rect(positionX, 75, 75, 75); // x, y, width, height
    ctx.fill();
    positionX++; // изменение позиции
    if(positionX > 600) {
        positionX = 75;
    }
},60); // запуск каждые 60 миллисекунд

Посмотрите на CodePen, как квадрат медленно двигается вправо и когда он доходит до правой границы области рисования, то возвращается в исходную позицию.

Если не очищать холст, то квадраты начнут воспроизводиться и заполнять всю траекторию движения.


Canvas и JavaScript. Анимация.

Анимация увеличения квадрата


Canvas и JavaScript. Анимация.

Занесем в переменную size начальные ширину и высоту квадрата и вместо ширины и высоты укажем эту переменную в параметрах команды rest. Затем будем увеличивать размеры значения переменной на единицу size++. Когда размеры квадрата достигнут размера 225 пикселей, увеличение квадрата прекратится, холст очистится clearRect и мы снова увидим маленький квадрат.

let canvas = document.getElementById('canvas');
let ctx = canvas.getContext('2d');
let size = 75;

setInterval(function() {
    ctx.beginPath();
    ctx.clearRect(0,0,600,300); // очистка холста
    ctx.fillStyle = "pink"; // цвет заливки
    ctx.rect(75, 75, size, size); // x, y, width, height
    ctx.fill();
    size++; // увеличение размера
    if(size > 225) {
        size = 75;
    }
},60); // запуск каждые 60 миллисекунд

Посмотрите на CodePen, как квадрат медленно увеличивает свой размер и достигнув границ области рисования, принимает первоначальный размер.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.