Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Випадково Згенерований Фон. | Покращення гри Flappy Bird
Бійцівська гра в Unity

bookВипадково Згенерований Фон.

Камера слідує за гравцем:

Клас CameraFollow забезпечує рух камери за гравцем по осі x, зберігаючи початкові позиції камери по осях y та z.

Методи:

Метод Start:

private void Start()
{
    initialPosition = transform.position;
}

Призначення: Ініціалізує змінну initialPosition початковою позицією камери на початку гри.

Метод LateUpdate:

private void LateUpdate()
{
    initialPosition.x = player.transform.position.x;
    transform.position = initialPosition;
}

Призначення: Оновлює позицію камери для стеження за рухом гравця по осі x.

Як це працює: initialPosition.x = player.transform.position.x; оновлює координату x змінної initialPosition, щоб вона відповідала координаті x гравця, а transform.position = initialPosition; встановлює позицію камери на оновлену initialPosition, забезпечуючи стеження за гравцем по осі x при збереженні початкових значень y та z.

Пояснення ParallaxBackground:

Клас ParallaxBackground дозволяє елементу фону, наприклад хмарам, повторюватися нескінченно для створення ефекту паралаксу у 2D-грі. Фон буде змінювати своє положення, коли гравець виходить за його межі, створюючи ілюзію нескінченного фону.

Методи:

Метод Start:

private void Start()
{
    width = GetComponent<BoxCollider2D>().bounds.size.x;
}

Призначення: Ініціалізує змінну width шириною елемента фону.

Як це працює: GetComponent<BoxCollider2D>() отримує компонент BoxCollider2D, прикріплений до елемента фону, а .bounds.size.x визначає ширину обмежувального прямокутника колайдера, яка зберігається у змінній width для подальшого використання.

Метод OnTriggerExit2D:

private void OnTriggerExit2D(Collider2D collision)
{
    if(collision.tag == "Player")
    {
        var position = transform.position;
        position.x += width * 2f;
        transform.position = position;
    }
}

Призначення: Змінює позицію елемента фону, коли гравець виходить за його межі, створюючи ілюзію нескінченного прокручування фону.

Як це працює: Коли гравець виходить за межі тригер-колайдера фонового елемента (OnTriggerExit2D(Collider2D collision)), перевіряється, чи належить колайдер гравцю (if(collision.tag == "Player")). Позиція фонового елемента коригується для плавного прокручування шляхом зсуву вправо на подвійну ширину елемента (position.x += width * 2f;). Ця корекція забезпечує плавне повторне з'явлення фонового елемента після того, як його парний елемент виходить за межі видимості.

Після обчислення нової позиції скрипт оновлює позицію фонового елемента (transform.position = position;). Такий механізм дозволяє фону підтримувати безперервний ефект прокручування, синхронізований з рухами гравця у ігровому середовищі.

Підсумок:

  • Ініціалізація: Ширина фонового елемента обчислюється та зберігається під час запуску гри;
  • Переміщення: Коли гравець виходить за межі фонового елемента, його позиція зміщується вправо на подвійну ширину, створюючи ефект безперервного циклічного прокручування.

Ця схема створює ілюзію нескінченного паралаксного фону шляхом багаторазового переміщення фонового елемента під час руху гравця, забезпечуючи плавний і безперервний візуальний досвід.

question mark

Що відбувається з позицією об'єкта, коли гравець виходить із його тригер-колайдера?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Awesome!

Completion rate improved to 3.33

bookВипадково Згенерований Фон.

Свайпніть щоб показати меню

Камера слідує за гравцем:

Клас CameraFollow забезпечує рух камери за гравцем по осі x, зберігаючи початкові позиції камери по осях y та z.

Методи:

Метод Start:

private void Start()
{
    initialPosition = transform.position;
}

Призначення: Ініціалізує змінну initialPosition початковою позицією камери на початку гри.

Метод LateUpdate:

private void LateUpdate()
{
    initialPosition.x = player.transform.position.x;
    transform.position = initialPosition;
}

Призначення: Оновлює позицію камери для стеження за рухом гравця по осі x.

Як це працює: initialPosition.x = player.transform.position.x; оновлює координату x змінної initialPosition, щоб вона відповідала координаті x гравця, а transform.position = initialPosition; встановлює позицію камери на оновлену initialPosition, забезпечуючи стеження за гравцем по осі x при збереженні початкових значень y та z.

Пояснення ParallaxBackground:

Клас ParallaxBackground дозволяє елементу фону, наприклад хмарам, повторюватися нескінченно для створення ефекту паралаксу у 2D-грі. Фон буде змінювати своє положення, коли гравець виходить за його межі, створюючи ілюзію нескінченного фону.

Методи:

Метод Start:

private void Start()
{
    width = GetComponent<BoxCollider2D>().bounds.size.x;
}

Призначення: Ініціалізує змінну width шириною елемента фону.

Як це працює: GetComponent<BoxCollider2D>() отримує компонент BoxCollider2D, прикріплений до елемента фону, а .bounds.size.x визначає ширину обмежувального прямокутника колайдера, яка зберігається у змінній width для подальшого використання.

Метод OnTriggerExit2D:

private void OnTriggerExit2D(Collider2D collision)
{
    if(collision.tag == "Player")
    {
        var position = transform.position;
        position.x += width * 2f;
        transform.position = position;
    }
}

Призначення: Змінює позицію елемента фону, коли гравець виходить за його межі, створюючи ілюзію нескінченного прокручування фону.

Як це працює: Коли гравець виходить за межі тригер-колайдера фонового елемента (OnTriggerExit2D(Collider2D collision)), перевіряється, чи належить колайдер гравцю (if(collision.tag == "Player")). Позиція фонового елемента коригується для плавного прокручування шляхом зсуву вправо на подвійну ширину елемента (position.x += width * 2f;). Ця корекція забезпечує плавне повторне з'явлення фонового елемента після того, як його парний елемент виходить за межі видимості.

Після обчислення нової позиції скрипт оновлює позицію фонового елемента (transform.position = position;). Такий механізм дозволяє фону підтримувати безперервний ефект прокручування, синхронізований з рухами гравця у ігровому середовищі.

Підсумок:

  • Ініціалізація: Ширина фонового елемента обчислюється та зберігається під час запуску гри;
  • Переміщення: Коли гравець виходить за межі фонового елемента, його позиція зміщується вправо на подвійну ширину, створюючи ефект безперервного циклічного прокручування.

Ця схема створює ілюзію нескінченного паралаксного фону шляхом багаторазового переміщення фонового елемента під час руху гравця, забезпечуючи плавний і безперервний візуальний досвід.

question mark

Що відбувається з позицією об'єкта, коли гравець виходить із його тригер-колайдера?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 5. Розділ 2
some-alt