<MyRusakov.ru />

Создание игр на Unreal Engine 5

Создание игр на Unreal Engine 5

Данный курс научит Вас созданию игр на Unreal Engine 5. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

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

Помимо самого курса Вас ждёт ещё 8 бесплатных ценных Бонусов: «Chaos Destruction», «Разработка 2D-игры», «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства», «Создание прототипа RPG с открытым миром» и и весь курс «Создание игр на Unreal Engine 4» (актуальный и в 5-й версии), включающий в себя ещё десятки часов видеоуроков.

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

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

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

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

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

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

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

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

Классы JavaScript в ES6. Часть 2

Классы JavaScript в ES6. Часть 2

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

Вы можете использовать выражение класса для немедленного создания экземпляра класса, вызвав конструктор класса немедленно. Для этого используется оператор new с ключевым словом class, и в конце блока анонимного класса, сразу после закрывающей фигурной скобки ставятся круглые скобки, в которые при необходимости передаются аргументы для конструктора класса:

  let app = new class
     constructor
(name)
     
this.name = name;
   
}

   start
() {
    console
.log(`Запуск приложения ${this.name}...`);
   
}

 
}('TodoList');

  app
.start(); // Запуск приложения TodoList…

В этом примере мы создаем анонимный класс и выполняем его немедленно.

Геттеры и сеттеры

Чтобы создать getter и setter методы , нужно использовать ключевые слова get и set, за которыми следуют пробел и идентификатор.

  class Person {

   constructor
(firstName, lastName) {
   
this.firstName = firstName;
   
this.lastName = lastName;
   
}

   
get fullName() {
   
return this.firstName + ' ' + this.lastName;
   
}

   
set fullName(str) {
    let names
= str.split(' ');
   
if (names.length === 2) {
     
this.firstName = names[0];
     
this.lastName = names[1];
   
} else {
     
throw 'Неправильный формат имени';
   
}

   
}
 
}

  let mary
= new Person('Мария', 'Дорош');
  console
.log(mary.fullName); // Мария Дорош

 
// устанавливаем новое имя
  mary
.fullName = 'Мэри Уильям';
  console
.log(mary.fullName); // Мэри Уильям

Вызов метода fullName возвращает полное имя объекта person, объединяя имя и фамилию через пробел.
Метод setName принимает строку в качестве аргумента. Он разбивает строку на части и присваивает свойства firstName и lastName соответствующим свойствам класса. Если входной аргумент в неправильном формате, то есть имя, пробел и фамилия не присутствуют во входной строке, данный метод вызывает ошибку.

Вычисляемые имена свойств

Как и в литерале объекта, вы можете использовать вычисляемые имена свойств, для имен методов класса. Следующий класс Person эквивалентен классу Person в предыдущем примере, за исключением того, что он использует переменную name, которая содержит имя метода в качестве вычисляемого имени.

  let name = 'fullName';

 
class Person {
   constructor
(firstName, lastName) {
   
this.firstName = firstName;
   
this.lastName = lastName;
   
}
   
get[name] {
   
return this.firstName + ' ' + this.lastName;
   
}
   
set[name](str) {
   
//...
   
}
 
}

 
var john = new Person('John', 'Doe');
  console
.log(john.fullName); // John Doe

Статические методы

До ES6, чтобы создать статический метод, необходимо было добавить метод непосредственно к функции-конструктору. Например, в примере далее добавляется статический метод к типу Animal, определенному в предыдущем примере.

  Animal.make = function(type) {
   
return new Animal(type);
 
}

 
var dog = Animal.make('Собака');
  dog
.identify(); // Собака

Метод make() считается статическим методом, поскольку он не зависит от какого-либо экземпляра класса Animal. ES6 упростил задачу создания статических, используя ключевое слово static для метода , как показано в следующем примере.

      class Animal {
   constructor
(type) {
   
this.type = type;
   
}
   identify
() {
    console
.log(this.type);
   
}
   
static create(type) {
   
return new Animal(type);
   
}
 
}

 
var mouse = Animal.create('Мышь');
  mouse
.identify(); // Мышь

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

   mouse.create('Обезьянка'); // Ошибка TypeError: mouse.create не является функцией

Таким образом, теперь вы знаете, как использовать классы в JavaScript ES6 и как применять их для разработки пользовательских типов в приложениях.

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

sndbox@yandex.ru sndbox@yandex.ru 11.06.2018 02:10:25

всем привет

Ответить

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