31. August 2010 09:57
Hey und hallo :)
Also
"Welche Fehlermeldung kommt denn?"
Keine, es ist also so, dass ich beim Click, eigentlich möchte, dass die Würfel ein paar werte anzeigen, so lange, bis keine ahnung so 5 mal oder so alle würfel irgendwas angezeigt haben und dann der letzte wert der gültige ist, damit einfach der effekt entsteht, dass es wie richtige würfel wirkt. Im moment passiert halt nix außer, dass die dauer die die einzelnen SLEEPs mit sich bringen, vergeht und dann der letzte Wert angezeigt wird. Also im grundegenommen, genau wie ohne die Animation nur halt das es dauert bis man sein ergebnis sieht.
"Ich gebe zu, ich habe zuvor noch niemandem beim Kniffel-Programmieren geholfen :)"
^^ Danke das du/ihr es dennoch versucht ;)
Ich habe hier um der Verständnis abzuhelfen mal einen Screen gemacht und ihr könnt euch den ansehen:
http://img697.imageshack.us/img697/8234/kniffelshot.jpgDa seht ihr, dass der Spieler bereits 2x gewürfelt hat und sich dazu entschieden hat, die markierten würfel zu behalten. So, im moment ist es halt so, man klickt "Würfeln" und PAFF sind die würfel die man halt erhalten hat sichtbar, und das ist etwas trocken und langweilig. Wenn ich es nun hinbekäme, dass die Würfel halt vorher z.B. 5 mal irgendwas anzeigen mit jeweils 100-200 ms dazwischen, dann würde es so nen "oooooooooh heyyyyy" effekt haben ^^ Und das wäre irgendwo spannender und interessanter.
Naja und wie gesagt, mit dem Code den ich im Anfangspost hatte läuft das nicht wirklich, es ist lediglich so, dass es dann halt die dauer dre millisekunden dauert, bis der entgültige wurf ausgeführt wird.
Hatte auch versucht, die Funktion auf einen Wurf einzustellen, also
Wuerfel[Integer] := RANDOM(6);
WuerfelShape;
CurrForm.UPDATE;
dann die Funktion im "Animationstest"-OnPush aufzurufen, dann einen sleep von 2000ms dann wieder die fukntion aufzurufen usw.. Aber auch dabei nix, muss dann halt knappe 6 sekunden warten und dann kommt wieder nur der letzte erworfene wert... Und ich versteh einfach nicht waurm.
Das Form-Property TimeInterval, sorgt für was genau? Wird dann alle 100ms als beispiel, etwas verändert oder wie?
Und an die Sache mit dem Boolean hatte ich auch gedacht, das bsp nach n läufen dann die variable auf true geht und somit der vorgang abgebrochen und der letzte wert gilt.. ebenso habe ich überlegt, einfach ne FOR Schleife zu erstellen, die dann einfach den im letzten Lauf ermittelten Wert als zu Wertenden Wert nimmt oder so. Aber das ist ja denke ich weniger wichtig grade, denn es muss ja erstmal funktionieren, dass die Sache mit dem "erster Würfelwert" "blink" "zweiter Würfelwert" "blink" usw usf..
Ich hoffe ich habe es nicht noch unverständlicher gemacht :)
EDIT: Bezüglich des Tipps mehrere Elemente übereinander zu legen, also ich denke, dass das gehen würde, versuche jedoch das zu umgehen, da es mit gigantischen Codemengen zusammen hängt, zumal in der final Version die Anzahl der Läufe die passieren, bevor der feste Würfel wert ermittelt wird auch noch zufällig werden soll. Somit wäre das echt heftig und alleine jetzt schon ist die WürfelShape funktion damit beschäftigt, 6x7 Punkte unsichtbar zu machen, dann 5 Würfel sichtbar zu machen und dann für jeden würfel 6 abfragen beinhaltet, die schauen
IF wuerfel[1] = 1 THEN
CurrForm.Punkt11.VISIBLE(TRUE);
.
.
.
IF wuerfel[2] = 1 THEN
CurrForm.Punkt21.VISIBLE(TRUE);
usw.
wenn ich das nun für sagen wir N-Würfel Felder mache, mit RANDOM(N) möglichen wiederholungen des Anzeigens der nur zum Effekt existenten Würfel werte... Dann würde das ganze irgendwo nicht mehr sauber sein glaube ich..