Bonjour, voici mon projet
je dois créer un jet d'eau avec des gouttes d'eau, mais j'aimerais pouvoir apeller ma classe contenant le code réalisant la trajectori ed'une goutte de façon à ce que une seconde goutte se lance avant que la première ait fini d'être executée.
Apparament on m'a "soufflé" de la part d'un ami que la solution serais d'instancier la classe ce qui me permettrai d'avoir plusieurs gouttes en l'air en même temps
c'est la que je suis perdu et que j'ai besoin d'un coup de génie et d'aide de votre part ... Merci d'avance a tous !
voici les sources :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef C_particules #define C_particules class particules { public: particules(); void jet(); ~particules(); }; #endif
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 #include "particules.h" #include "Unit1.h" #include "math.h" particules::particules() { } void particules::jet() { float Px=680,Py=300,accel=0,i=2,i2=0,Vx=2,Vy=-5,g=9.8; for(i2=0;i2<100;i2++) { //Effacer Form1->Canvas->Pen->Color = clBlack; Form1->Canvas->Pen->Width = 3; int Dx = 2; int Dy = 2; Form1->Canvas->RoundRect(Px, Py, Px + Dx, Py + Dy, Dx/2, Dy/2); i+=0.001; accel=(g/2)*(i); Vy+=accel-g; Py=Py+Vy; Px=Px+Vx; //Créer un nouveau point Form1->Canvas->Pen->Color = clSkyBlue; Form1->Canvas->RoundRect(Px, Py, Px + Dx, Py + Dy, Dx/2, Dy/2); Sleep(10); } } particules::~particules() { }
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
25
26
27
28
29
30
31
32
33
34
35 //--------------------------------------------------------------------------- #include "particules.h" #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "math.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; particules *eau; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //----------------------------------------------------------- void __fastcall TForm1::FormActivate(TObject *Sender) { WindowState = wsMaximized; Timer1->Interval = 500; randomize(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { eau->jet(); } //---------------------------------------------------------------------------
Partager