Zna ktoś może sposób jak w delphi utworzyć efekt śniegu na ekranie podobny jak jest stosowany na stronach www? Szukałem źródeł ale nic naten temat nie znalazłem...
Rysowanie płatków czy przemieszczanie obiektów TImage? W każdym razie sam ruch możesz zrobić tak:
Masz Timer powiedzmy na 100ms. W każdym takcie tworzysz powiedzmy jeden płatek na górze ekranu/formy/linii padania - tworzenie polegać może na dynamicznym utworzeniu TPoint i dodaniu go do TList. Co takt dla każdego płatka z TList wyliczasz nowe położenie. Jeśli płatek wyjdzie za ekran/formę/linię ziemi jest usuwany z TList.
Wyliczenie nowej pozycji może być zrobione następująco:
- Y ciągle rośnie (liniowe przesuwanie w dół)
- X zmienia się na przykład w sposób: X:=10*sin(Y)+1 (pewnego rodzaju falowanie; możesz zakręcić bardziej ten wzorek o inne wielokrotności Y lub uzależnić od numeru płątka czy czegoś takiego)
Przez DirectDraw dało się rysować po całym ekranie (nie tylko na formularzu).
Zresztą bez DirectDraw też sobie można poradzić.
Pobierasz uchwyt pulpitu, i rysujesz na nim jak na zwyklym Canvasie.
Form1.Canvas.Handle := GetDC(0);
i teraz zamiast na formie będzie Ci rysowalo po pulpicie.
Mam nadzieje, że nie pomyliłem, dawno Delphi nie odpalalem.