Utiliser plusieurs fois ma classe en même temps
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:
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:
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:
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();
}
//--------------------------------------------------------------------------- |