Beschleungigung abhängig vom Winkel

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Beschleungigung abhängig vom Winkel

    Hey Leute

    ich hab ne Frage zu meinem Code

    GML-Quellcode

    1. switch(image_angle){
    2. case 1:{speed-=0.01; break;} case 50:{speed-=0.10;break;}
    3. case 2:{speed-=0.02;break;} case 55:{speed-=0.11;break;}
    4. case 3:{speed-=0.03;break;} case 60:{speed-=0.12;break;}
    5. case 4:{speed-=0.04;break;} case 65:{speed-=0.13;break;}
    6. case 5:{speed-=0.05;break;} case 70:{speed-=0.14;break;}
    7. case 6:{speed-=0.06;break;} case 75:{speed-=0.15;break;}
    8. case 7:{speed-=0.07;break;} case 80:{speed-=0.16;break;}
    9. case 8:{speed-=0.08;break;} case 85:{speed-=0.17;break;}
    10. case 9:{speed-=0.09;break;} case 90:{speed-=0.18;break;}
    11. }
    Alles anzeigen


    Und zwar ist es so das ich ein Flugzeug habe das wenn es steigt langsamer wird, also ein wenig realistisch....
    Nun hab ich mal bisschen rumprobiert und die einzigste möglichkeit die ich gefunden habe wahr eigentlich das wie oben gezeigt zu machen, allerdings möchte ich das gerne für jeden winkel also von 1-90 machen,

    aber das wird ja dann ein rießiges code puzzel....

    Habt ihr eine idee wie man das ganze vereinfachen kann? bzw eine andere Möglichkeit?

    Im umkehrschluss möchte ich natürlich auch das, dass Flugzeug im sink flug beschleunigt
  • Ich würde dafür die winkelfunktionen wie sinus und cosinus verwenden.
    Mal ein Beispiel:

    GML-Quellcode

    1. var inensity;
    2. intensity = 0.01; //je kleiner die zahl, desto langsamer fällt/beschleunigt das flugzeug
    3. speed=speed-(sin(degtorad(image_angle))*intensity);

    Sollte vom grundkonzept funktionieren.

    Der Sinus von 90 grad ist 1 während der Sinus von -90 Grad -1 ist. Je höher der Winkel (image angle) ist, desto höher wird die zahl bis sie zu 1 kommt. Diese Zahl kannst du einfach multiplizieren bzw dividieren (nach belieben) um eine schnellere bzw langsamere beschleunigung zu bekommen.
    Beim nach obne fliegen, kommt eben ein wert größer als 0 raus der von Speed subtrahiert wird. Beim nach unten fliegen kommt ein Wert kleiner als 0 raus (sprich im minus bereich.
    Ein negativer wert wird von Speed subtrahiert, was wiederum eine Addition bedeutet > Flugzeug wird schneller.
    Sry für die maue erklärung. Stehe unter Zeitdruck. XD

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von LEWA ()