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

Зміст курсу

Бійцівська гра в Unity

Бійцівська гра в Unity

1. Система анімації Unity
2. Поведінка гравця
3. Поведінка Ворога
4. Покращення гри
5. Покращення гри Flappy Bird

book
Переміщення Гравця

FixedUpdate та Update

Update()

Метод Update(), який викликається один раз за кадр, використовується для регулярних оновлень, таких як обробка введення гравця та взаємодія з користувачем. Частота його виконання залежить від частоти кадрів, що може призводити до різної поведінки на різних пристроях.

FixedUpdate()

Метод FixedUpdate(), який викликається з фіксованим інтервалом, ідеально підходить для оновлень, пов'язаних із фізикою, забезпечуючи надійне та передбачуване опрацювання сил, зіткнень і руху.

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

Код для руху

if (x != 0)
{
    Vector2 velocity = rb.velocity;
    if ((animator.GetCurrentAnimatorClipInfo(0))[0].clip.name != "attack")
    {
        velocity.x = x * Time.deltaTime * speed;
    }
    else
    {
        velocity.x = 0;
    }
    rb.velocity = velocity;
}

Цей фрагмент коду містить різні перевірки та присвоєння для керування рухом ігрового персонажа. Спочатку перевіряється, чи горизонтальна змінна руху x не дорівнює нулю, після чого створюється змінна Vector2 для збереження поточної швидкості компонента Rigidbody. Також перевіряється, чи поточна анімація не є "attack", щоб визначити, чи персонаж знаходиться у стані атаки. Якщо не атакує, горизонтальна швидкість встановлюється на основі вводу, часу та швидкості; інакше горизонтальний рух зупиняється. Нарешті, швидкість Rigidbody оновлюється новими значеннями.

question mark

Який метод зазвичай використовується для обробки фізичних обчислень та оновлень?

Select the correct answer

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

course content

Зміст курсу

Бійцівська гра в Unity

Бійцівська гра в Unity

1. Система анімації Unity
2. Поведінка гравця
3. Поведінка Ворога
4. Покращення гри
5. Покращення гри Flappy Bird

book
Переміщення Гравця

FixedUpdate та Update

Update()

Метод Update(), який викликається один раз за кадр, використовується для регулярних оновлень, таких як обробка введення гравця та взаємодія з користувачем. Частота його виконання залежить від частоти кадрів, що може призводити до різної поведінки на різних пристроях.

FixedUpdate()

Метод FixedUpdate(), який викликається з фіксованим інтервалом, ідеально підходить для оновлень, пов'язаних із фізикою, забезпечуючи надійне та передбачуване опрацювання сил, зіткнень і руху.

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

Код для руху

if (x != 0)
{
    Vector2 velocity = rb.velocity;
    if ((animator.GetCurrentAnimatorClipInfo(0))[0].clip.name != "attack")
    {
        velocity.x = x * Time.deltaTime * speed;
    }
    else
    {
        velocity.x = 0;
    }
    rb.velocity = velocity;
}

Цей фрагмент коду містить різні перевірки та присвоєння для керування рухом ігрового персонажа. Спочатку перевіряється, чи горизонтальна змінна руху x не дорівнює нулю, після чого створюється змінна Vector2 для збереження поточної швидкості компонента Rigidbody. Також перевіряється, чи поточна анімація не є "attack", щоб визначити, чи персонаж знаходиться у стані атаки. Якщо не атакує, горизонтальна швидкість встановлюється на основі вводу, часу та швидкості; інакше горизонтальний рух зупиняється. Нарешті, швидкість Rigidbody оновлюється новими значеннями.

question mark

Який метод зазвичай використовується для обробки фізичних обчислень та оновлень?

Select the correct answer

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

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

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

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