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

question-closed Szybsze poruszanie po skosie

Object Storage Arubacloud
0 głosów
565 wizyt
pytanie zadane 13 stycznia 2019 w C# przez niezalogowany
zamknięte 16 stycznia 2019

Witam,

stworzyłem skrypt na porusznie postacią w 8 kierunkach i nie wiem jak zrobić żeby po skosie poruszała się tak samo szybko jak normalnie.

using UnityEngine;
using System.Collections;

public class PlayerControler : MonoBehaviour
{
    public CharacterController characterControler;
    public float speed = 0.2f;
   
    void Start()
    {
        characterControler = GetComponent<CharacterController>();
    }

    void FixedUpdate()
    {
        if (Input.GetKey(KeyCode.W))
        {
            float Ww = speed;

            Vector3 go = new Vector3(0, Physics.gravity.y, Ww);
            characterControler.Move(go);
        }

        if (Input.GetKey(KeyCode.S))
        {
            float Ss = -speed;

            Vector3 go = new Vector3(0, Physics.gravity.y, Ss);
            characterControler.Move(go);
        }

        if (Input.GetKey(KeyCode.D))
        {
            float Dd = speed;

            Vector3 go = new Vector3(Dd, Physics.gravity.y, 0);
            characterControler.Move(go);
        }

        if (Input.GetKey(KeyCode.A))
        {
            float Aa = -speed;

            Vector3 go = new Vector3(Aa, Physics.gravity.y, 0);
            characterControler.Move(go);
        }
    }
}

 

komentarz zamknięcia: Uzyskałem odpowiedź

2 odpowiedzi

0 głosów
odpowiedź 15 stycznia 2019 przez Ciepły Obywatel (1,800 p.)
wybrane 15 stycznia 2019
 
Najlepsza
Wystarczy że w kodzie dodasz odpowiednio dla klawiszy WD WA SA SD taki kod

If(Input.GetKey(KeyCode.W)&& Input.GetKey(KeyCode.D))

{

float speed= 0.1f;

 

}
+1 głos
odpowiedź 15 stycznia 2019 przez Borys Kaczmarek Użytkownik (630 p.)
Musiałbyś sprawdzić kiedy gracz porusza się po skosie. Gdy gracz porusza się po skosie wartość 'speed' powinna być pomnożona przez wartość 0.7071f.
1
komentarz 17 stycznia 2019 przez MikDal Mądrala (5,660 p.)

Według mnie jest to lepsza odpowiedź. Lepiej jest pomnożyć raz zdefiniowaną stałą speed niż tworzyć drugą. W dodatku taką złączoną zależnością.

Podobne pytania

0 głosów
1 odpowiedź 958 wizyt
0 głosów
1 odpowiedź 556 wizyt
pytanie zadane 10 października 2020 w C# przez PanPrezes Obywatel (1,520 p.)
0 głosów
0 odpowiedzi 446 wizyt
pytanie zadane 1 grudnia 2019 w C# przez Filip Papros Nowicjusz (120 p.)

92,589 zapytań

141,439 odpowiedzi

319,686 komentarzy

61,974 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!

...