Sprite Sprung



  • Hallo,

    Auf einer anderen Seite habe ich einen Code gefunden,
    der eig. perfekt für meine bedürfnisse ist, aber das Problem ist
    das da laider nich stand wie mann es hinbwkommt den char nach dem Sprung
    wieder runter zu machen, hab echt alles versucht es geht aber nichts!

    //in der Klasse:
    
    const int gravi=10;//Gravitation(Die Bewegung nach unten)
    const int maxeY=100;//Maximale Höhe 
    
    //in der haupt datei
    
       speedY=0;//Geschwindigkeit auf der Y-Achse
       Y=1;//Höhe  
       isJump=false; //Leertasten Prüfung
    
    //...
       if(!isJump) 
       { 
    		if(App.GetInput().IsKeyDown(sf::Key::Space))
        {
            speedY+=4;//den Wert musst du ausprobieren
    		isJump = true;
        } 
      } 
    //...
    float ElapsedTime = App.GetFrameTime();//Verstrichene Zeit
        Y+=speedY * ElapsedTime;//Neue Position für Y berechnen
        if((Y>=0) && (maxeY>=Y)) 
    	{
    		//Wenn Y nicht unter dem Boden ist und auch nicht über der Decke ist
            Sprites[0].Move(0, -Y);  //Übertragen
        }
        else if((Y>=0) && (maxeY<Y)) 
    	{
    	//Wenn Y die Maximalhöhe überschritten hat
    	Y=maxeY;
            Sprites[0].Move(0, Y);  //Übertragen
            speedY=0;
        }
        else 
    	{ 
    	//Wenn Y unter dem Boden ist
            Y=0;
            Sprites[0].Move(0, Y);  //Übertragen
            speedY=0;
        } 
    	if(Y == 0 && speedY == 0)
    	{
    		isJump = false;
    	}
    	else
    	{
    	isJump = true;
    	speedY-=gravi * ElapsedTime;//Neue Position für Y berechnen
    	}
    

    Funktionieren tuts, nicht, entweder er geht nach oben und nach unten
    dann siehts so aus als ob er nach oben läuft und nicht das er springt,
    oder er bewegt sich garnicht.
    Wie krieg ich es hin das nach dem der Sprung die höchste Stelle
    erreicht hat, er sich wieder auf seinen Standpunkt bewegt, ??

    danke schonmal jetzt!



  • Keiner ein Plan?



  • Generator schrieb:

    den char nach dem Sprung
    wieder runter zu machen

    wtf? Drück dich mal vernünftig aus und poste entsprechende Zeilen.



  • Oben sind doch die entsprechenden Zeilen, ich möchte
    es halt nur hinbekommen, den Charackter, also den Sprite, nachdem
    er im Sprung den höhsten Punkt erreicht hat, also Y=maxeY
    wieder langsam nach unten sinkt, zum punkt wo er am Anfang war.

    Weil jetzt bleibt er immer beim Sprung oben in der Luft, und kommt
    nicht wieder runter.


  • Mod

    wieso laesst du es oben und bringst es nicht wieder runter? wo genau ist das problem?



  • Das Problem ist das ich eben es nicht hinbekomme, ihn wieder runter zu
    holen nach dem er hochgesprungen ist.


  • Mod

    kannst du im code mal die stelle zeigen ab der es sich runter bewegen soll und hinschreiben wie du es runter bewegen willst?
    dann sehen wir weiter wo der bug ist.

    ansonsten hab ich nicht wirklich eine ahnung wo das problem sein soll.


Anmelden zum Antworten