int direction = sr.flipX ? 1 : -1;
rb.velocity = new Vector2(direction * speed, rb.velocity.y);
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.tag == "Wall")
{
sr.flipX = sr.flipX ? false : true;
}
}
Ну direction * speed * Time.fixedDeltaTime сделать на всякий случай, и проверку в идеале не по тегу а по компоненту скажем который на стены будешь вешать, но это все приебки, пойдет
он сетает скорость а не увеличивает, дельта не нужна
то есть вариант приемлимый?
Ну работает же и не выглядит как хтонический монстр
лучше всего иметь доступ к тегу обьекта через инспектор, и сделать так [SerializeField] private string wallTag = "Wall"; private void OnTriggerEnter2D(Collider2D collision) { if (collision.gameObject is null) return; if(collision.gameObject.CompareTag(wallTag))) { sr.flipX = !sr.flipX; } }
Лучше всего вообще тег не использовать)
Обсуждают сегодня