Efekt powolnego wznoszenia

Efekt powolnego wznoszenia
RU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0

Cześć

Mam obiekt, który ma się wznosić na odpowiednią wysokość, niby działa ale wznosi się za szybko:

Kopiuj
		
if(Gdx.input.isKeyJustPressed(Keys.SPACE)){
			gameObject1.y += 80 * Gdx.graphics.getDeltaTime() * 50;
		}
		else{
			gameObject1.y -= 80 * Gdx.graphics.getDeltaTime();
		} 

Opadanie mogę sobie odpowiednio modyfikować (jego prędkość) ale przy zwiększaniu wartości (dodatnich, +y) przemieszczenie obiektu jest skokowe a chciałem osiągnąć większą płynność. Zmieniałem doświadczalnie te wartość ale używam

Kopiuj
isKeyJustPressed 

przez co jest ten skok przy zmianie wartości. Musi być konkretnie JustPressed a nie samo Pressed.
Da się to jakoś rozwiązać?

spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
0

Użyj wartości 0 < x < 1 dla przyspieszenia;
Przez krótką chwilę na początku możesz użyć funkcji kwadratowej, aby uzyskać płynny efekt.

RU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0
spartanPAGE napisał(a):

Użyj wartości 0 < x < 1 dla przyspieszenia;
Przez krótką chwilę na początku możesz użyć funkcji kwadratowej, aby uzyskać płynny efekt.

Nie rozumiem do czego miał bym to przypisać? Do zmiany wartości "y" czy do zmiany czasu? Czy jeszcze inaczej?

spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
0

x to niewiadoma - przyspieszenie.

RU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0
spartanPAGE napisał(a):

x to niewiadoma - przyspieszenie.

Zrobiłem tak jak umiałem ale nie działa do końca, bo przestaje reagować na naciśnięcie spacji po chwili:
Wznoszenie:

Kopiuj
	public float jumpVelocity;
	
	public void jump(){
		if(jumpVelocity >= -100){
			jumpVelocity +=150;
		}
	} 

W polu update:

Kopiuj
	public float gravity = -3f; 
Kopiuj
		gameObject1.y += gameObject1.jumpVelocity * Gdx.graphics.getDeltaTime();
		if(gameObject1.y > 0){
			gameObject1.jumpVelocity += gravity;
  		}

		
		if(Gdx.input.isKeyJustPressed(Keys.SPACE)){
			gameObject1.jump();
		}

Co muszę zmienić?

  • Rejestracja: dni
  • Ostatnio: dni

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.