2d платформер, стрельба через raycast

Программирование на Юнити.

2d платформер, стрельба через raycast

Сообщение McGramm 20 фев 2019, 22:16

Всем привет! у меня возникла проблема и я не знаю как ее решить.
Заключается она в том что при попытке сделать стрельбу через рейкаст в 2d платформере возникает проблема с направлением выпускаемого луча.
Уровень с персонажем находятся в отрицательных координатах по оси X и при выстреле направо проблем нет, но при отображении перса налево,как я понял,луч выпускается в направлении 0 координат оси :( прошу помощи, так как не совсем понимаю координаты 2d и только начал делать что то в unity на полноценном 2d.

Как я только не пытался, ничего не выходит(

Пример кода
Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Shot : MonoBehaviour {
       
        public int movv;
        public Vector2 vect_l;
        public Vector2 vect_r;
        void Start () {
                vect_l = Vector2.left;
                vect_r = Vector2.right;

        }
       

        void Update () {
                //Отображение персонажа
                movv=gameObject.GetComponentInParent<CharacterController> ().check;
        }



        public void Shoot(){


                if (movv > 0) {
                        //направление вправо
                        RaycastHit2D hit = Physics2D.Raycast (this.gameObject.transform.position,vect_r);
                        Debug.DrawLine (this.gameObject.transform.position, hit.point, Color.red);
                }
                if(movv<0){
                        //направление влево
                        RaycastHit2D hit1 = Physics2D.Raycast (this.gameObject.transform.position,vect_l);
                        Debug.DrawLine (this.gameObject.transform.position, hit1.point, Color.red);
               
                }
       
}
}
McGramm
UNец
 
Сообщения: 3
Зарегистрирован: 30 май 2017, 10:57

Re: 2d платформер, стрельба через raycast

Сообщение DimaJoke 20 фев 2019, 22:22

Сделай условие на то, что игрок по тему слева от начала координат и на то, что он смотрит влево. Если всё совпадает то зеркаль по иксу

И в чём вообще прикол стрельбы рейкастамт в 2?
Что бы повзрослеть, человек должен преодолеть ошибки юности.

Поэтому я снова здесь..
Аватара пользователя
DimaJoke
UNITрон
 
Сообщения: 293
Зарегистрирован: 12 авг 2018, 18:59
Откуда: Ульяновск
  • Сайт

Re: 2d платформер, стрельба через raycast

Сообщение McGramm 20 фев 2019, 22:30

Рейкастом привычнее,делал так и в 2,5 д, было удобно. Не совсем понял как зеркалить по иксу, если сам луч уходит в другую сторону. Можно ли как то обнулить координаты мирового пространства относительно персонажа, и брать направление вектора из нолей? Тогда я думаю все будет гуд, только не нашёл инфы по этому поводу, 2 день пытаюсь
McGramm
UNец
 
Сообщения: 3
Зарегистрирован: 30 май 2017, 10:57

Re: 2d платформер, стрельба через raycast

Сообщение AngryCat 21 фев 2019, 22:25

Не мог бы скинуть проект? Смотрю на код, вроде все правильно.
Здесь могла бы быть ваша реклама.
Аватара пользователя
AngryCat
Старожил
 
Сообщения: 716
Зарегистрирован: 20 июл 2018, 22:29
Skype: Дискорд - Флеш#4099

Re: 2d платформер, стрельба через raycast

Сообщение McGramm 23 фев 2019, 21:14

К сожалению нет, ушел в сторону стрельбы префабами(
McGramm
UNец
 
Сообщения: 3
Зарегистрирован: 30 май 2017, 10:57


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13