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

Jak płynnie odepchnąć gracza po dotknięciu przeciwnika? Unity2d

0 głosów
268 wizyt
pytanie zadane 10 września 2020 w OpenGL, Unity przez Szaradek Obywatel (1,340 p.)

Witam, mam problem z odpychaniem gracza, gdy on dotyka przeciwnika od boku. Sytuacja wyglada, tak, ze jeżeli postać dotknie przeciwnika, to zmienia ona swoja pozycje natychmiastowo, zamiast płynnie odlecieć. Jakieś sugestie? Czego użyć zamiast Rigidbody.velocity?

 

   private void HitEnemy()
    {
        if(isHit)
        {
            if(playerTransform.position.x<enemyPositionX)
            {
                
                rb.velocity = new Vector2(-110f, rb.velocity.y);
                isHit = false;
                anim.SetBool("Hit", false);
            }
            if (playerTransform.position.x > enemyPositionX)
            {
                
                rb.velocity = new Vector2(110f, rb.velocity.y);
                isHit = false;
                anim.SetBool("Hit", false);
            }
        }

    }

 

komentarz 10 września 2020 przez Bizuma Gaduła (3,650 p.)
gdzie/w jaki sposób wywoływana jest metoda HitEnemy? Nie wiem jak to u ciebie wygląda ale w razie czego przenieś ją do metody FixedUpdate, dodatkowo uwzględnij Time.DeltaTime i pomyśl o użyciu metody rb.addForce zamiast ustawiać velocity.
komentarz 10 września 2020 przez Szaradek Obywatel (1,340 p.)

HitEnemy jest umieszczona w FixedUpdate(); Time.DeltaTime nie zmienia płynności bo sprawdzałem, a jak dodaje addForce to jest ten sam problem.

Daje kod: http://www.wklejto.pl/853762

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 308 wizyt
pytanie zadane 15 czerwca 2018 w OpenGL, Unity przez Szaradek Obywatel (1,340 p.)
0 głosów
1 odpowiedź 1,558 wizyt
pytanie zadane 21 listopada 2017 w OpenGL, Unity przez Eryk Chojnacki Obywatel (1,420 p.)
0 głosów
0 odpowiedzi 189 wizyt
pytanie zadane 18 października 2020 w OpenGL, Unity przez Sic Dyskutant (8,510 p.)

93,695 zapytań

142,613 odpowiedzi

323,225 komentarzy

63,226 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...