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

Liniowa zmiana wartości zmiennej

Object Storage Arubacloud
0 głosów
92 wizyt
pytanie zadane 29 stycznia 2018 w Java przez rubesom Obywatel (1,690 p.)
edycja 29 stycznia 2018 przez rubesom

Hej

Mam problem z liniową zmianą wartości zmiennej (sam nie wiem czy dobrze to nazwałem).

Mam taki kod:

	private void update()
	{
		if(Gdx.input.isKeyPressed(Keys.A))
		{
			r -= 4;
		}
		time += Gdx.graphics.getDeltaTime();
		if(zmiennaCzasowa < time)
		{
//			r += (1*time*0.3f) ;
			r += 10;
		}
		kreska2.setRotation(r);
	}

Obracam obiekt 'kreska2' i chciał bym, żeby po naciśnięciu klawisza obrót zwalniał o daną wartość i znowu przyspieszał. Problem w tym kodzie polega na tym, że kiedy obiekt zwolni o podaną wartość to automatycznie wraca do zadeklarowanej wartości, nie wiem jak to zrobić, żeby było płynnie/liniowo.

Próbowałem dodawać zmienną czasową, działało ale zmienna 'time' ciągle rosła więc to też nie jest rozwiązaniem.

 

Jak sobie z czymś takim poradzić?

 

@EDIT: Stworzyłem potwora, który działa:

        if(1 < 2)
        {
            rotation=1;
            time += Gdx.graphics.getDeltaTime();
            rotation *= time * temp;
            System.out.println("time " + time);
            System.out.println("rotation " + rotation);
            System.out.println("temp " + temp);
            if(rotation > 360)
            {
                time = 0;
                temp += 10;
            }
            else if(Gdx.input.isKeyPressed(Keys.A))
            {
                rotation -= 4.0f;
                time = 0;
            }
        }

Co cykl zwiększa iloczyn dla zmiennej 'rotation' (bazowa wartość to 50), dzięki czemu tworzy wrażenie płynnego przyspieszania co okrążenie. Dodatkowo dodałem aktywny klawisz 'A' dla zerowania okrążenia.
Ma to sens czy lepiej innym ludziom tego nie pokazywać, bo będą mnie wytykać palcami?

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

Podobne pytania

0 głosów
2 odpowiedzi 136 wizyt
pytanie zadane 15 lipca 2018 w Java przez must Bywalec (2,980 p.)
0 głosów
1 odpowiedź 311 wizyt
0 głosów
1 odpowiedź 580 wizyt

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

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

...