Задать вопрос
Ответы пользователя по тегу C#
  • Отклик при соприкосновении с коллайдером 2D?

    @DrRen7
    using UnityEngine;
    public class Player2dTest : MonoBehaviour
    {
        [SerializeField] Transform _wallLeft;
        [SerializeField] Transform _wallRight;
        Vector3 _targetTransf;
        [SerializeField] float _speed = 5f;
        Collider2D _myCol;
        bool _isMove = true;
        [SerializeField]bool _isWin;
        private void Start()
        {
            _myCol= GetComponent<Collider2D>();
            _targetTransf = _wallLeft.position;
        }
        private void Update()
        {
            if (_isMove)
            {
                _myCol.transform.position = Vector2.MoveTowards(_myCol.transform.position, _targetTransf, _speed * Time.deltaTime);
                if (_myCol.transform.position == _targetTransf) NewTargetMove();
            }
            if (Input.GetKeyDown(KeyCode.Space))
            {
                EndGame();
            }
        }
        void NewTargetMove()
        {
            if (_targetTransf != _wallRight.position) _targetTransf = _wallRight.position;
            else _targetTransf = _wallLeft.position;
        }
        void EndGame()
        {
            _isMove = false;
            if (_isWin) Debug.Log("You Win");
            else Debug.Log("You Lose");
    
        }
        private void OnTriggerEnter2D(Collider2D collision)
        {
            if (collision.tag=="FirstPart") _isWin = true;
        }
        private void OnTriggerExit2D(Collider2D collision)
        {
            if(_isWin)_isWin = false;
        }
    }

    Фото сцены и "бегающего объекта" 66284bf469039539456906.png

    можно заменить триггеры на boxcast в EndGame()
    Ответ написан
  • Почему коллайдеры деревьев на террайне съезжают?

    @DrRen7
    хмм интересно.
    1)Попробуй создать префабу родительский объект
    2)Присвоить террейну и деверьям разные LayerMask и убрать взаимодействия друг с другом.
    66282b6e7889d145251307.png
    как пример
    Ответ написан