Ladebalken
-
Moin alle zusammen!
Ich bin momentan dabei, ein Spiel zu programmieren (mein erstes) und hätte dafür gerne einen Ladebalken, der mir den ECHTEN Fortschirtt einer Funktion (in meinem Fall: generiere zufallsmap) darstellt, damit man ca abshcätzen kann, wie lange man noch warten muss.
Zusätzlich dazu soll die ausgabe via allegro auf dem bildschirm erscheinen.
Ich benötige keine expliziten codes (ich will ja auch noch denken ;-)) aber ich hab dummerweiße gar keine idee, wie ich das anstellen soll...Vielen dank shconmal im vorraus!
-
Ehm.. und wo ist jetzt deine Frage? Du musst den Balken schon selbst bewegen, zaubern kann der nicht.
-
Jo, aber wie? sobald ich weiß, bei welchem prozentpunkt ich bin, komm ich selber weiter. aber wie finde ich raus, wie weit die funktion vortgeschirtten ist?
-
Du musst doch selbst wissen wo du gerade bist? oO
-
Feh schrieb:
Jo, aber wie? sobald ich weiß, bei welchem prozentpunkt ich bin, komm ich selber weiter. aber wie finde ich raus, wie weit die funktion vortgeschirtten ist?
Sorry, meine Glaskugel ist mir heute kaputt gegangen. Die Garantie ist auch schon abgelaufen und eine neue Glaskugel ist sehr teuer, ich kann daher nicht wissen, was Deine Funktion macht.
mfg Martin
-
für jedes Feld auf meiner karte einen untergrund erstellen. bzw eher auswählen, welchen es benutzen soll
-
Also ich gehe mal davon aus, dass Du das ganze in einer Schleife machst. (Spielfeldbreite/höhe). Dann weißt du ja, wie viele Schleifendurchläufe Du maximal hast. Also kannst du in der äußeren schleife den relativen Fortschritt ausrechnen.
for(int i=0; i<NMAX;i++){ tueGanzDollRechnen(ganzVieleLangeZeitBrauchendeArgumente); float fortschritt=(i+1)/(1.0*NMAX);//1.0 entspricht 100% }
-
Feh schrieb:
für jedes Feld auf meiner karte einen untergrund erstellen. bzw eher auswählen, welchen es benutzen soll
Und wo ist dein Problem? oO
Bei jedem fertigen Feld hauste den Ladebalken halt 1/Anzahl_der_Felder weiter?
-
Und wo ist dein Problem? oO
Bei jedem fertigen Feld hauste den Ladebalken halt 1/Anzahl_der_Felder weiter?[/quote]Bei 1024x1024 erschien mir das etwas übertrieben, das in jendenm schritt neu zu machen...
MADZE schrieb:
Also ich gehe mal davon aus, dass Du das ganze in einer Schleife machst. (Spielfeldbreite/höhe). Dann weißt du ja, wie viele Schleifendurchläufe Du maximal hast. Also kannst du in der äußeren schleife den relativen Fortschritt ausrechnen.
for(int i=0; i<NMAX;i++){ tueGanzDollRechnen(ganzVieleLangeZeitBrauchendeArgumente); float fortschritt=(i+1)/(1.0*NMAX);//1.0 entspricht 100% }
Danke! genausoetwas hatte ich gesucht! Ich geh mal in die ecke und schäm mich, das ich da nich von allein drauf gekommen bin
-
Feh schrieb:
Bei 1024x1024 erschien mir das etwas übertrieben, das in jendenm schritt neu zu machen...
Wenn das zu lange dauert, teste halt vorher mit %, und lass ihn nur bei jedem 100. Schritt weitergehen.
-
Feh schrieb:
Danke! genausoetwas hatte ich gesucht! Ich geh mal in die ecke und schäm mich, das ich da nich von allein drauf gekommen bin
Das solltest Du.
Das ist billigster Dreisatz. Lernt man glaube ich schon in der Grundschule. Deshalb bin ich gar nicht auf die Idee gekommen, daß sowas Dein Problem ist.
mfg Martin