Ver Mensaje Individual
  #18  
Antiguo 31-10-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Snaked.

Si, es totalmente correcto. Podes ir almacenando las naves en una lista a medida que las creas y luego referirte a cada nave mediante la lista.

Ejemplo sobre el código anterior:
Código PHP:
TList* lst;
Ship* s1;

void __fastcall TForm1::FormCreate( TObject *Sender )
{

  
lst = new TList;

  
s1 = new Ship( this, Point(10,100), Point( 240,200) );
  
s1->Image->Picture->LoadFromFile( "face-smile.jpg" );
  
s1->Timer->Interval = 10;
  
lst->Add(s1);

  
s1 = new Ship( this, Point(  50,  50 ), Point( 150, 300 ) );
  
s1->Image->Picture->LoadFromFile( "face-sad.jpg" );
  
s1->Timer->Interval = 10;
  
lst->Add(s1);

  
s1 = new Ship( this, Point(  80, 90 ), Point(  220, 100 ) );
  
s1->Image->Picture->LoadFromFile( "face-monkey.jpg" );
  
s1->Timer->Interval = 10;
  
lst->Add (s1 );

 
//... mas naves
}

void __fastcall TForm1::btnStartClick( TObject *Sender )
{
  for  (
int i = 0; i < lst->Count; i++ )
     
static_cast<Ship*>( lst->Items[i] )->Timer->Enabled = true; // (*)
}

void __fastcall TForm1::FormDestroy( TObject *Sender )
{
  for (
int i = 0; i < lst->Count; i++)
    
delete lst->Items[i];
  
lst->Free();
} 
(*) Te podes referir a cada nave de la lista cambiando el índice de la propiedad vectorial Items.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita