<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, Вы будете получать уведомления о новых статьях.

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

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

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

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

Шаблон проектирования "Стратегия"(Pattern Strategy).

Шаблон проектирования "Стратегия"(Pattern Strategy).

Продолжаем говорить про паттерны проектирования и сегодня мы рассмотрим шаблон проектирования "стратегия"(pattern strategy).

Суть данного шаблона проста - в зависимости от каких-то условий выбрать нужную тактику. Лучше рассмотреть на практике.

<?php
  abstract class FileNamingStrategy {
   abstract function createLinkName($fileName);
  }
  class ZipFile extends FileNamingStrategy {
   function createLinkName($fileName) {
    return "http://localhost/download/$fileName.zip";
   }
  }
  class TarGzFile extends FileNamingStrategy {
   function createLinkName($fileName) {
    return "http://localhost/download/$fileName.tar.gz";
   }
  }
  class FileStrategy {
   protected $_type;
   function __construct() {
    if(strstr($_SERVER["HTTP_USER_AGENT"], "Win"))
     $this->_type = new ZipFile();
    else
     $this->_type = new TarGzFile();
   }
   public function getLink($name) {
    return $this->_type->createLinkName($name);
   }
  }
  $obj = new FileStrategy();
  $link1 = $obj->getLink("file_one");
  $link2 = $obj->getLink("file_two");

  print <<<LIST
  <h1>Список файлов для скачивания:</h1>
  <p>
  <a href="$link1">Первый файл</a>
  <a href="$link2">Второй файл</a>
  </p>
  LIST;
?>

Итак, у нас есть 2 класса: ZipFile и TarGzFile. Первый возвращает нам ссылку на скачивание файла в .zip формате, а второй в .tar.gz формате. В классе FileStrategy, в конструкторе, мы проверяем заголовок USER_AGENT и, если там присутствуют буквы Win, то создаём объект класса ZipFile, иначе же создаём объект класса TarGzFile. Потом мы создаём объект FileStrategy и вызываем метод getLink, который вернёт нам наш файл в нужном формате. Т.е. суть его в том, что мы не знаем, какой объект у нас будет, за нас это проверяет наш класс и возвращает нужный.

Итак, сегодня мы разобрали ещё один очень часто используемый шаблон проектирования "стратегия".

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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