Этот вопрос закрыт для ответов, так как повторяет вопрос 2D персонаж в Unity?
@mari_greys

Нужна помощь с управлением персонажа в 2d,поможете?

Нужно чтобы персонаж двигался при помощи клика мыши именно в 2D игре,скрипт для 3D у меня уже есть
Адекватного урока я найти не смогла,да и в документации тоже немного слепа,помогите пожалуйста,очень будет полезно.
Знаю что нужно через вектор отправлять лучи,но с кодом на шарпе пока что трудно.Так же у персонажа есть физика Rigidbody2D
Если будет что-то ещё нужно-только скажите
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 2
kombain32
@kombain32
QA, C# developer
Я Вас испугал и Вы решили открыть новый вопрос?))

Давайте еще раз попробуем. Расскажите у Вас что-нибудь работает? То есть вы нажимаете на запуск программы, и что далее происходит(она компилируется?)? Что вы можете делать на сцене? Какие объекты есть на сцене? Что такое персонаж? (то есть это видимо какой-то объект на котором висят управляющие скрипты правильно?) Давайте скриншоты его инспектора. Покажите нам хоть что-нибудь что у Вас написано, сделаны ли какие-то объекты?(расскажите что Вы делаете что бы что-то создать, обитатели Тостера Вам вероятно смогут рассказать, как правильно начать что-то делать). Присылайте скриншоты кода, инспекторов объектов - это вот такая штука https://docs.unity3d.com/Manual/UsingTheInspector , просто скриншоты из Вашей игры.
Откуда Вы взяли тот код, о котором Вы пишите? Вероятно он сложен для Вас и стоит начать с чего то более простого(тетрис там или пятнашки). Самое правильное начать читать вот здесь https://docs.unity3d.com/Manual/

UPD: "Знаю что нужно через вектор отправлять лучи,но с кодом на шарпе пока что трудно" - вероятно Вы это где-то прочитали или Вам плохие люди это нашептали, но такое определение RayCast(а) я не слышал (Вам лучше забыть и вообще не понятно зачем использовать это для движения). И без С# никуда в Unity(совсем совсем), так что штудируйте литературку по шарпику.

UPD2: Этот форум специально создан чтобы задавать вопросы и получать ответы от сообщества. Тут Вас никто не скушает, так что выходите на контакт и не плодите одиннаковых вопросов. 90% разработчиков начинали как Вы.
Ответ написан
kreo_OL
@kreo_OL
Медузко -_-
Самый элементарный способ

[SerializeField]private GameObject player;
        [SerializeField] private float speed=2f;
        private Camera camera => Camera.main;
        private bool isMove;
        private Vector3 targetPosition;
        private void Update()
        {
            if (Input.GetMouseButton(0))
            {
                targetPosition = camera.ScreenToWorldPoint(Input.mousePosition);
                targetPosition.z = 0;
                isMove = true;
            }

            if (isMove)
            {
                player.transform.position =
                    Vector3.Lerp(player.transform.position, targetPosition, Time.deltaTime * speed);
                if ((targetPosition-player.transform.position).sqrMagnitude < 0.1f)
                {
                    isMove = false;
                }
            }
        }


Если нужно что то посложнее, можете в принципе и напрямую обратится.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы