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

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

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

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

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

Как сделать выпадающий список с красивым эффектом на CSS и JQuery.

Как сделать выпадающий список с красивым эффектом на CSS и JQuery.

Всем привет! Сегдня я покажу, как сделать выпадающий список с красивым эффектом на CSS и JQuery.

Посмотреть, как это работает, вы можете здесь

Теперь приступим к созданию

В .html файле пропишем следующую структуру

<div class="drop">
 
<div class="option active placeholder" data-value="placeholder">
   Choose wisely
 
</div>
 
<div class="option" data-value="wow">
   Wow!
 
</div>
 
<div class="option" data-value="drop">
   So dropdown!
 
</div>
 
<div class="option" data-value="select">
   Very select!
 
</div>
 
<div class="option" data-value="custom">
   Much custom!
 
</div>
 
<div class="option" data-value="animation">
   Such animation!
 
</div>
</div>

Стили будут примерно такими. Однако вы можете их менять так, как захотите

$dark: #35414a;
$semilight
: #86919a;
$blue
: #5aafee;
*, *:before, *:after {
  box
-sizing: border-box;
  margin
: 0;
  padding
: 0;
}
@font-face {
  font
-family: pfs-bold;
  src
: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/142996/PFSquareSansPro-Bold.otf');
}
body
{
  background
: $dark;
}
.drop {
  width
: 20em;
  margin
: 5em auto;
  font
-family: pfs-bold;
  color
: $semilight;
  text
-transform: uppercase;
  position
: relative;
  transition
: width 0.5s;
  will
-change: width;
 
 
.option {
    padding
: 1em;
    cursor
: pointer;
    background
-color: #485761;
   
   
&:not(.active) {
      display
: none;
      opacity
: 0;
      transform
: translateY(-50%);
   
}
 
}
 
 
&.visible {
    animation
: bounce 1s;
    width
: 24em;
   
   
&:before, &:after {
      border
-color: #fff;
   
}
   
&:before {
      opacity
: 0;
   
}
   
&:after {
      opacity
: 1;
   
}
   
   
.option {
      color
: #fff;
      display
: block;
   
}
 
}
 
 
&.opacity {
   
   
.option {
      transform
: translateZ(0);
      opacity
: 1;
     
     
@for $i from 0 to 10 {
       
&:nth-child(#{$i}) {
          transition
: opacity 0.5s 0.1s*$i, transform 0.5s 0.1s*$i;
       
}
     
}
   
}
 
}

&.withBG {
 
 
.option {
    transition
: background-color 0.1s;

   
&:not(.placeholder):hover {
      background
-color: $blue;
   
}

   
&:not(.placeholder).active {
      background
-color: $blue;
   
}
 
}
}
 
 
&:after, &:before {
    content
: "";
    position
: absolute;
    top
: 1.5em;
    right
: 1em;
    width
: 0.75em;
    height
: 0.75em;
    border
: 0.2em solid $semilight;
    transform
: rotate(45deg);
    transform
-origin: 50% 50%;
    transition
: opacity 0.2s;
 
}
 
&:before {
    border
-left: none;
    border
-top: none;
    top
: 1.2em;
 
}
 
&:after {
    border
-right: none;
    border
-bottom: none;
    opacity
: 0;
 
}
}

.mini-hack {
  opacity
: 0;
  transform
: translateY(-50%);
}

И, наконец, простой скрипт на JQuery.


$
(document).ready(function() {
  $
(".drop .option").click(function() {
   
var val = $(this).attr("data-value"),
    $drop
= $(".drop"),
    prevActive
= $(".drop .option.active").attr("data-value"),
    options
= $(".drop .option").length;
   $drop
.find(".option.active").addClass("mini-hack");
   $drop
.toggleClass("visible");
   $drop
.removeClass("withBG");
   $
(this).css("top");
   $drop
.toggleClass("opacity");
   $
(".mini-hack").removeClass("mini-hack");
   
if ($drop.hasClass("visible")) {
    setTimeout
(function() {
    $drop
.addClass("withBG");
   
}, 400 + options*100);
   
}
   triggerAnimation
();
   
if (val !== "placeholder" || prevActive === "placeholder") {
    $
(".drop .option").removeClass("active");
    $
(this).addClass("active");
   
};
 
});

 
function triggerAnimation() {
   
var finalWidth = $(".drop").hasClass("visible") ? 22 : 20;
   $
(".drop").css("width", "24em");
   setTimeout
(function() {
    $
(".drop").css("width", finalWidth + "em");
   
}, 400);
 
}
});

Вот так просто можно сделать красивый выпадающий список на JQuery.

Спасибо за внимание и удачи!

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

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

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

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

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

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

  1. Кнопка:

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

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

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

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

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

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