bonjour,
C'est bientôt noël et je voudrai coder un effet de neige![]()
En faite, la où je bloque, c'est sur le déplacement non linéaire d'objet (point ou bitmap par exemple)
Voilà un test simple avec 3 flocons : (image1, image2, image3 sont mes flocons)
Ce que je voudrai améliorer, c'est que mes flocon ne tombent pas verticalement,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 procedure TForm1.Timer1Timer(Sender: TObject); // ici 33 ms, la vitesse à laquelle les flocons descendent... begin image1.Top := image1.Top +1; image2.Top := image2.Top +1; image3.Top := image3.Top +1; //ça c'est pour les replacer une fois descendu, enfin c'est pas trop le sujet :P if image1.top = 200 then begin image1.top := 1; image1.left := (random(200)); end; if image2.top = 200 then begin image2.top := 1; image2.left := (random(200)); end; if image3.top = 200 then begin image3.top := 1; image3.left := (random(200)); end; end;
mais un peu en biais, comme si il y avait du vent![]()
Et je bloque dessus.... avez vous des idées, aglo différents, suggestion...?
Maintenant si mon effet comporte 200 flocons, je me suis dis qu'il serai bien de changer de méthode :
Voilà ca marche, mes flocons sont créés toute les 100 ms entre X = 300 et Y = 20...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 //cette fois j'ai 1 image de flocon en resource, que je vais réutiliser 200 fois =) flocon := TBitMap.Create; // créer une variable flocon de type image flocon.LoadFromResourceName(HInstance,'FLOCON'); procedure TForm1.Timer1Timer(Sender: TObject); // toute les 100 ms 1 flocon est dessiné begin Canvas.Draw(random(300)+1,random(20)+1,flocon);
Maintenant comment faire pour faire bouger tout ce beau monde?
juste qu'ils descendent verticalement pour commencer, j'arrive pas à les faire bouger![]()
Merci d'avance.
inspiration :
effet neige :
http://sidchip.ath.cx/~maktone/installers/CLS-2001_12_11.zip
effet delpacement non linéaire :
http://sidchip.ath.cx/~maktone/installers/CLS-2001_08_28.zip
Partager