Ответы пользователя по тегу C#
  • Почему не меняется параметр Bool у аниматора?

    @MaxMaksimov
    Bool странно работает, не знаю как так, но у меня никогда он нормально не работал, если тебе не принципиально, то можешь поменять тип параметра: если переход одноразовый и не нужно хранить значение долго, то используй SetTrigger, если нет то SetFloat и проверяй на определенное значение (0 или 1).
    Последнее может колхоз, но попробуй так, глянь сработает ли.
    Ответ написан
    Комментировать
  • Как улучшить прыжок?

    @MaxMaksimov
    1. Персонаж прыгает по разному потому что у тебя проверка на GetButton, он срабатывает постоянно когда кнопка зажата, то есть прыжок кучу раз вызывается, используй GetButtonDown, тогда прыжок будет один при каждом нажатии на кнопку.
    2. Я в целом не рекомендую использовать addforce для прыжков, его трудно контролировать, лучше используй rb.velocity = new Vector2(rb.velocity.x, jumpForce), хотя если исправить все остальное то можешь оставить если так тебе удобно.
    3. CheckGround чуть измени, сделай слой Ground, и назначь его объектам пола, и пусть землей будет считаться только объекты соответствующего слоя, так стены и прочее будут игнорироваться, то есть будет так выглядеть метод - Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, circle, layerMask) где layerMask это либо номер слоя просто цифрой написан, либо что лучше - public переменная типа LayerMask, где ты в инспекторе выберешь нужный слой.
    4. Вызывай метод в FixedUpdate, но ты код не предоставил, возможно ты это уже делаешь)
    Ответ написан
    Комментировать