[edit] rezygnuję z rysowania na formie(bezsensowne w moim przypadku złożonego rysowania), będę wczytywał bitmapy i ew. rysował na nich, zobaczę jeszcze
Gdyby ktoś miał podobny problem - tu http://www.techotopia.com/index.php/Using_Bitmaps_for_Persistent_Graphics_in_C_Sharp jest rozwiązanie, tworzymy bitmapę, dodajemy DoubleBuffered (http://www.csharp-examples.net/set-doublebuffered/) aby nic nam nie migało i już :)
Dzięki za odpowiedzi, ja cały dzień poświęciłem rozwiązywaniu tego problemu i jak na
razie bez rezultatu (sic!)
Animacja piłki jest to animowany plik gif, który wczytuję, a następnie animuję za pomocą klasy ImageAnimator (z MSDN'a). I to wszystko robię na panelu 12x12. Jeśli wczytuję Twoim sposobem:
Graphics g = Panel1.createGraphics();
g.DrawImage( "plik.gif" ,x, y);
to się nie animuje bo plik .gif wczytuję jako bitmapę
I tak:
wynalazłem w necie, jak przerobic Panel, aby był transparentny. Niby jest, ale:
- to powoduje że przez animację piłki też wszystko prześwituje co jest pod nią, a tak by nie może
Druga sprawa - cały czas myślę, jak mam rozwiązać problem ponownego przerysowywania tego co jest na formie, gdyż gdy poruszam panelem, to działa on jak gumka na to co już było narysowane ja formie. I tak się zastanawiam czy jest sposób aby przerysowywać "cześć" formy a nie całość ?