• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana kierunku poruszania się pocisku

Object Storage Arubacloud
0 głosów
131 wizyt
pytanie zadane 23 czerwca 2023 w OpenGL, Unity przez Eniggme Nowicjusz (230 p.)
edycja 23 czerwca 2023 przez Eniggme

Aby nie lać wody, uczę się, wiele różnych prób edukacji programowania podjąłem, spodobał mi się najbardziej unity, szlifuje korzystając z materiałów yt, ksiązki itp. Jednak nie na wszystko jest jednoznaczna odpowiedź, a przykłady w necie nie zawsze obrazują to co chce się zrobić

Problem:

Mam obiekt "pocisk" 2D bez problemu nadaje mu ruch przy pomocy Rigidbody2D w prawą stronę. Ogarnąłem kod na zmianę rotacji postaci i tak samo skrypt zmienia rotację pocisku. Nie umiem jednak wprowadzić instrukcji warunkowej tak aby pocisk wraz z zmianą kierunku postaci zmieniał kierunek lotu pocisku. 

Edit :
Wykombinowałem coś takiego leci w prawo ale w lewo stoi. Zaznaczę iż rotacja pobierana jest z obiektu gracz i dla tego warunku jest sprawdzana.
 

            if (transform.rotation.y == 0)
            {
                colne.velocity += new Vector2(speed * Time.fixedDeltaTime, 0f);
            }

            if (transform.rotation.y == 180)
            {
                colne.velocity -= new Vector2(speed * Time.fixedDeltaTime, 0f);
                 
            }

Nie szukam gotowca chcę to zrozumieć. 

public class pocisk : MonoBehaviour
{
    public Rigidbody2D Bullet;
    public Transform shootPoint;
    private float timer;

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            Rigidbody2D colne = Instantiate(Bullet, transform.position, transform.rotation) as Rigidbody2D;
            colne.transform.position = shootPoint.position;
            colne.transform.rotation = transform.rotation;


            colne.velocity += new Vector2(100f * Time.fixedDeltaTime, 0);


        }

    }
}

 

1 odpowiedź

0 głosów
odpowiedź 27 lipca 2023 przez Pabllo26 Obywatel (1,280 p.)
Spróbuj może zdublować wynik w lewo. Zmiana kierunku wymaga przecież też tego żeby wyhamował z wcześniej nadanej mu prędkości. Więc jeden Vector2 ci hamuje pocisk a drugi nadaje mu prędkość w przeciwnym kierunku

Podobne pytania

0 głosów
1 odpowiedź 187 wizyt
pytanie zadane 15 marca 2019 w C# przez niezalogowany
0 głosów
0 odpowiedzi 137 wizyt
pytanie zadane 18 lutego 2019 w C# przez niezalogowany
0 głosów
1 odpowiedź 232 wizyt
pytanie zadane 1 sierpnia 2017 w OpenGL, Unity przez Stami Gaduła (3,790 p.)

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...