![]() |
Animiertes randomize
Hallo Leuts,
wie man aus einer Zahlen-Range eine zufällige ermittelt ist klar. Aber wie kann man das visuell darstellen? Ich meine ein schnelles "durchrattern" der Zahlen bis zum Stillstand. Ich fürchte das dies immer nur eine Animation ist , nie die "echten" Zahlen,oder? Grüsse aus der brühenden Hitze einer Dachwohnung :x |
Hallo Privateer3000,
jedes Canvas kennt das Array Pixels. Du könntest x und y durch Zufall ermitteln und den Punkt farbig (eventuell auch noch zufällig) darstellen. Wäre das so was, was du meinst? |
Dazu muss ich mich erstmal mit Canvas mehr beschäftigen.
Bisher hab ich es nur mit Textout verwendet, mal sehen ob ich zurechtkomme. Mit x und y meinst Du bestimmt Koordinaten?? Grüsse |
Versuch es mal so:
Code:
Schöne Animation mit den Progessbars.
procedure TForm1.FormCreate(Sender: TObject);
begin Randomize; Progressbar1.Max := Width; Progressbar2.Max := Height; end; procedure TForm1.Timer1Timer(Sender: TObject); var x, y: DWORD; begin x := Random(Width); y := Random(Height); Form1.Canvas.Pixels[x,y] := clRed; Form1.Canvas.Pixels[x+1,y+1] := clRed; Form1.Canvas.Pixels[x+1,y] := clRed; Form1.Canvas.Pixels[x,y+1] := clRed; Progressbar1.Position := x; Progressbar2.Position := y; end; |
sorry, aber ich fürchte das verstehe ich nicht.
ok,nehmen wir ein Beispiel "aus dem Realen Leben" - Kartenspiel :lol: Spielkarten :32 Jetzt soll eine zufällige ermittelt werden.Die ermittlung soll 3sek dauern. In diesen 3 sek soll eine Animation alle Karten durchrattern, visuell. Setzt man dafür eine "fertige" z.b. mit eine Gif-Animator erzeugte Animation ein oder kann man das mit Delphi auch machen? |
Spiel doch diese drei Sekunden eine kleine AVI-Datei ab.
|
das hab ich mir fast gedacht....
mit den Zahlen ist es ebenso...richtig?? |
Wenn du gerade von Karten redest:
![]() |
Hallo Privateer3000,
wenn du die Cards Kompo, die jbg vorschlägt, installiert hast. Ziehe eine Karte auf deine Form und setze ShowCard auf True. Füge eine Timer Kompo hinzu und setze Enabled auf False und Interval auf 100. Dann füge den folgenden Code dem OnTimer Ereignis zu: [code:1:2cb5f3cf4d]procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Tag := Timer1.Tag +1; if Timer1.Tag = 30 then begin |
@Privateer3000
Um mal auf die Frage zu kommen - richtige Zahlen darstellen und nur eine kleine vorbereitete Animation? Eigentlich völlig egal. Es kommt nur auf die Zahl am Ende an und diese sollte die richtige sein. Aber mal ehrlich, wenn Du die letzte Zahl darstellen kannst, dann kannst Du doch auch die Zufallszahlen zwischendurch mit Hilfe der gleichen Prozedur darstellen, oder? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz