Programmieren: Hilfe & Austausch
Programmieren: Hilfe & Austausch
12.09.2012 um 17:58@YaaCool
Also... das ist so gedacht, da die Leertaste nur die Sprungsequenz auslöst, die dann im Hintergrund mitläuft... das verhindert das der Sprung eine insich abgeschlossene Sequenz ist und ermöglicht es das die anderen Tasten weiter Einfluss nehmen.
Die Leertaste löst die Sprungsequenz aus, wenn sie gerade nicht läuft... eine Bewegung die dann im Hintergrund abläuft.
Also... das ist so gedacht, da die Leertaste nur die Sprungsequenz auslöst, die dann im Hintergrund mitläuft... das verhindert das der Sprung eine insich abgeschlossene Sequenz ist und ermöglicht es das die anderen Tasten weiter Einfluss nehmen.
Die Leertaste löst die Sprungsequenz aus, wenn sie gerade nicht läuft... eine Bewegung die dann im Hintergrund abläuft.
Programmieren: Hilfe & Austausch
12.09.2012 um 18:01ja aber wie mach ich das mit im hintergrund weiter laufen
Programmieren: Hilfe & Austausch
12.09.2012 um 18:01@AnGSt
im ersten Schritt füllst du alle Seitenzahlen in ein Array.
Die ersten 4, die letzten 4, die 4 um deine aktuelle Seite herum.
Dann enfernst du redundante Einträge, ordnest das Array, und läufst mit einer Schleife drüber.
Die Schleife setzt die entsprechenden Links hintereinander und 3 Punkte, wenn zwischen zwei Zahlen eine Lücke ist.
im ersten Schritt füllst du alle Seitenzahlen in ein Array.
Die ersten 4, die letzten 4, die 4 um deine aktuelle Seite herum.
Dann enfernst du redundante Einträge, ordnest das Array, und läufst mit einer Schleife drüber.
Die Schleife setzt die entsprechenden Links hintereinander und 3 Punkte, wenn zwischen zwei Zahlen eine Lücke ist.
Programmieren: Hilfe & Austausch
12.09.2012 um 18:03@YaaCool
Wenn du das so machst wie ich es vorgestellt habe, kannst du doch wärend im Hintergrund der Sprung auf und ab geht weiterhin die Tasten drücken und die Figur steuern... die ESC-Schleife macht dann beides.
Wenn du das so machst wie ich es vorgestellt habe, kannst du doch wärend im Hintergrund der Sprung auf und ab geht weiterhin die Tasten drücken und die Figur steuern... die ESC-Schleife macht dann beides.
Programmieren: Hilfe & Austausch
12.09.2012 um 18:05ja, aber ich weiß doch nicht wie ich das im hintergrund laufen lasse
Programmieren: Hilfe & Austausch
12.09.2012 um 18:09wenn du deine Schleife hast und "vorne" drückst, setzt er doch bei jedem Durchlauf der Schleife deine Figur einen Schritt weiter(wenige Pixel).
Wenn du jetzt noch die Auf und Ab Sequenzen einbaust ( If-Verknüpft, wie deine Tasten) kannst du bei jedem Durchlauf der Schleife zusätzlich eine Figur die gerade beim Springen ist ein ebenso kleines Stück nach oben oder nach unten setzen.
Die Variablen SpringAuf SpringAb die MaximaleHöhe ( Sprunghöhe plus Höhe beim Sprungstart) und das Boden-Niveau begrenzen diesen Ablauf in deiner Hauptschleife.
Wenn du jetzt noch die Auf und Ab Sequenzen einbaust ( If-Verknüpft, wie deine Tasten) kannst du bei jedem Durchlauf der Schleife zusätzlich eine Figur die gerade beim Springen ist ein ebenso kleines Stück nach oben oder nach unten setzen.
Die Variablen SpringAuf SpringAb die MaximaleHöhe ( Sprunghöhe plus Höhe beim Sprungstart) und das Boden-Niveau begrenzen diesen Ablauf in deiner Hauptschleife.
Programmieren: Hilfe & Austausch
12.09.2012 um 18:11@YaaCool
Der Sprung wird halt einfach durch diese Methode in einen Haufen kleiner Schritte zerteilt zwischen denen du natürlich begrenzt eingreifen kannst... kapiert? :D
Der Sprung wird halt einfach durch diese Methode in einen Haufen kleiner Schritte zerteilt zwischen denen du natürlich begrenzt eingreifen kannst... kapiert? :D
Programmieren: Hilfe & Austausch
12.09.2012 um 18:13nein
Programmieren: Hilfe & Austausch
12.09.2012 um 18:16@YaaCool
Deine Schleife läuft durch ...
Anfang
Ende
Anfang
Ende
Anfang
Druck vorwärts->Schrittvorwärts
Ende
Anfang
Druck vorwärts->Schritt vorwärts
und das geht dann so weiter...
bei jedem Durchlauf der Schleife ( in Sekunden bruchteilen ) wird die Figur solange dein Knopf nach vorne gedrückt ist um ein kleines Stück nach vorne gesetzt, korrekt?
Deine Schleife läuft durch ...
Anfang
Ende
Anfang
Ende
Anfang
Druck vorwärts->Schrittvorwärts
Ende
Anfang
Druck vorwärts->Schritt vorwärts
und das geht dann so weiter...
bei jedem Durchlauf der Schleife ( in Sekunden bruchteilen ) wird die Figur solange dein Knopf nach vorne gedrückt ist um ein kleines Stück nach vorne gesetzt, korrekt?
Programmieren: Hilfe & Austausch
12.09.2012 um 18:17ich weiß wie du das meinst, wie das aussehen und ablaufen soll
aber ich hab immer noch keinen plan wie ich das umsetzen soll
aber ich hab immer noch keinen plan wie ich das umsetzen soll
Programmieren: Hilfe & Austausch
12.09.2012 um 18:29@YaaCool
Hab ich da detailiert geschrieben... aber gut, ich schriebe es nochmal.
DAs müsste es im Grunde sein... die Variablen werden bei dir anders heißen aber ansonsten kannst du das so einbauen... SprungAuf und SprungAb sind boolsch, Maximale Höhe und BodenNiveau sind Integer-Werte... für Bodenniveau vergibst du nen festen Wert solange du noch kein Gelände hast.
Die If-Verzweigungen müssen ganz regulär in deine Esc-Schleife eingebaut werden.
Hab ich da detailiert geschrieben... aber gut, ich schriebe es nochmal.
if(Leertaste && !SprungAuf && !SprungAb){ /* Wenn die Leertaste gedrückt ist und die Sprungsequenz weder auf noch ab geht*/
SprungAuf=true; //beginne den Sprung
MaximalHöhe = AktuelleHöhe+Sprunghöhe
}
if(AktuelleHöhe<Maximalhöhe && SprungAuf){ //das hochspringen
Höhe++; //oder höherer Wert
}
if(AktuelleHöhe>BodenNiveau&& !SprungAuf){ //das fallen
Höhe--; //oder höherer Wert
}
if(AktuelleHöhe>Maximalhöhe && SprungAuf){ //am maximalen Punkt
SprungAuf=false;
SprungAb=true;
}
if(AktuelleHöhe<=BodenNiveau){ //am Boden angekommen
AkuelleHöhe=BodenNiveau
SprungAb=false;
}
DAs müsste es im Grunde sein... die Variablen werden bei dir anders heißen aber ansonsten kannst du das so einbauen... SprungAuf und SprungAb sind boolsch, Maximale Höhe und BodenNiveau sind Integer-Werte... für Bodenniveau vergibst du nen festen Wert solange du noch kein Gelände hast.
Die If-Verzweigungen müssen ganz regulär in deine Esc-Schleife eingebaut werden.
Programmieren: Hilfe & Austausch
12.09.2012 um 18:31Programmieren: Hilfe & Austausch
12.09.2012 um 19:52ich habs ein bisschen geändert aber sonst passt es^^
danke
(und ich hab verstanden, wie das funktioniert, das ist mir wichtig^^')
@interpreter
danke
(und ich hab verstanden, wie das funktioniert, das ist mir wichtig^^')
@interpreter
Programmieren: Hilfe & Austausch
12.09.2012 um 19:58@YaaCool
gut... ja das ist auch am wichtigsten :) keinen Scheiß zu verwenden, den man nicht kapiert :)
gut... ja das ist auch am wichtigsten :) keinen Scheiß zu verwenden, den man nicht kapiert :)
Programmieren: Hilfe & Austausch
12.09.2012 um 20:00kann ich das für alle anderen "animationen" auch so adaptieren?
Programmieren: Hilfe & Austausch
12.09.2012 um 20:10laufen und so
wobei da wohl nicht direkt
weil ich da das prob hab, dass die bilder zu schnell wechseln und ich die geschwindigkeit des wechselns nicht einfach mit dem delay verzögern kann, weil sie in der bewegung mit drin ist und damit die bewegung auch mit verzögert
naja obwohl doch
da müsste ich dann nen bool machen für laufen und so
ginge das? dass ich ihn prüfen lasse ob die figur grade läuft und wenn ja soll er halt das mit den bildern machen oder würde da die verzögerung auch auf den rest fallen?
wobei da wohl nicht direkt
weil ich da das prob hab, dass die bilder zu schnell wechseln und ich die geschwindigkeit des wechselns nicht einfach mit dem delay verzögern kann, weil sie in der bewegung mit drin ist und damit die bewegung auch mit verzögert
naja obwohl doch
da müsste ich dann nen bool machen für laufen und so
ginge das? dass ich ihn prüfen lasse ob die figur grade läuft und wenn ja soll er halt das mit den bildern machen oder würde da die verzögerung auch auf den rest fallen?
Programmieren: Hilfe & Austausch
12.09.2012 um 20:13@YaaCool
Ja, prinzipiell kannst du alles so machen... aber Laufen hat ja kein Punkt weit oben oder weit unten... dennoch könntest du das zu einer art zähler adaptieren, der ihn beispielsweise nur jede 2te oder 3te Runde bewegen lässt, wenn er läuft :)
Ja, prinzipiell kannst du alles so machen... aber Laufen hat ja kein Punkt weit oben oder weit unten... dennoch könntest du das zu einer art zähler adaptieren, der ihn beispielsweise nur jede 2te oder 3te Runde bewegen lässt, wenn er läuft :)
Programmieren: Hilfe & Austausch
12.09.2012 um 20:14oh ein counter, ja das ginge auch