Страница 1 из 1

Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 14:28
Adam
Мне нужно сделать механику уровня как в Green Light, Red Light из игры в кальмара. Надо чтобы после того, как загорелся красный, если вдруг игрок сдвинется с места проигрывать анимацию смерти. Кто-нибудь примерно знает, как это реализовать?

Re: Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 16:00
Xtir
If(redLight && velocity > 0) Смерть();

Re: Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 19:16
Adam
Можешь посмотреть код? Когда персонаж двигается после того, как кукла повернула голову, он уничтожается. Но иногда он уничтожается, когда двигается после деактивации куклы.
Ссылка на GitHub: https://github.com/skrudgemacdac/-/blob/main/DoolLogic

Re: Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 19:37
samana
В вашем коде смерть игрока прописана просто напрямую, без условий. У игрока нет шансов, он умрёт просто через рандомное время.

Re: Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 19:40
Adam
есть скрипт игрока, там прописано условие:
https://github.com/skrudgemacdac/-/blob/main/Player

Re: Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 21:25
Xtir
попробуй вот так сделать
Синтаксис:
Используется csharp

//выше твой код
                gameObject.transform.Rotate(0f, 180f, 0f);
                yield return new WaitForSeconds(timeOn);

                while (timeOff > 0.0f)
                {
                        if (player.rigidbody.velocity.magnitude > 0)
                        {
                                  player.Die();
                                  break;
                        }
                        timeOff -= Time.deltaTime;
                        yield return null;
                }

                //это убрать
                //player.Die();
                //yield return new WaitForSeconds(timeOff);

                gameObject.transform.Rotate(0f, 0f, 0f);
                gameObject.transform.position = new Vector3(257.5f, 1.11f, 427.3f);


Ну и конечно же в player.Die() просто убиваем игрока без всяких проверок.

Re: Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 21:55
Adam
В целом работает. Единственное: У куклы тогда голова повернута с самого начала игры. А также игрок просто не успевает остановиться, его моментально убивают. Благодарен тебе за предыдущий ответ)
Может там что-то чуть поменять надо?

Re: Unity, C-Sharp

СообщениеДобавлено: 02 дек 2021, 22:11
Xtir
Ну я просто часть кода твоего не вписал, если сделаешь задержку как у тебя выше было, то голова не должна быть повёрнута сразу.

Re: Unity, C-Sharp

СообщениеДобавлено: 03 дек 2021, 00:11
Adam
А возможно ли эту голову поворачивать плавно? Она слишком резко разворачивается.