Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2010
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
Ayuda con objetos y Stringlist

Muy buenas....

Estoy haciendo una aplicacion para mover unos 10 sprites con determinadas secuencias (paro ,arriba,..). Cada secuencia puede tener diferentes recorridos que dibujo con el raton a partir de origen,destino,destino2,..destino n. A su vez cada recorrido se traduce a un movimiento con el tiempo de ese movimiento. Es un poco elaborado pero no se me ocurre otra forma.
ya tengo implementado el añadir,borrar,girar sprite y mas o menos el añadir recorrido con el raton.
Lo que me esta costando es controlar toda la estructura anterior. Uso arrays que puede que no se llenen.
El problema básico es el de manejar la lista de los arrays por si borro, inserto alguna secuencia o recorridos.

Ejemplo de Sprite.-

ListaSprites[i].Secuencia[j].Recorr[k].TradMov[x].Movi


He visto por internet que se pueden usar Stringlist con objetos, con lo que la linea.
Secuencia:Array of TSecuencia; se sustituiria por
Secuencia:Stringlist;
¿Seria mejor utilizar esto en vez de los arrays?



Y en algun sitio inicializar
ListaSprites[i].Secuencia:=TStringlist.Create;

MI pregunta es ,Si tengo que pasar por ese codigo varias veces

¿Como saber si ya he inicializado el Stringlist?
Se puede hacer lo mismo en las lineas marcadas en rojo en el codigo siguiente.


Agradeceria cualquier sugerencia, Luego todo esto lo guardare en algun fichero de texto, ini o lo que sea.

La idea es tener un puñado de secuencias grabadas y utilizarlas para cada sprite y asignarle dichas secuencias o crear nuevas.

Código:
...
var
 ListaSprites: array [1..10] of TSprite;
 ....

CONST
   MAXSEQ=512;
   MAXTRAD=10;
   MAXREC=50;

type
  TSprite = class
  public
    x, y, xAnterior, yAnterior: Integer;
    ColorTransparente: TColor;
    Imagen, Mascara,buffer: TImage;
    Seleccion: integer;
    deltx,delty:integer;
    Orientacion:integer;
    Secuencia:Array of TSecuencia;
    constructor Create;
    destructor Destroy; override;


 type
   TTipoMov=(mvStop,mvAdelante,mvAtras,mvDerecha,mvIzquierda);

    TTradMovil=class
    public
     Movi: TTipoMov;
     TiempoMov : TTime;
    end;

 Tpathmovil = class
  public
    Origenx, Origeny, Destinox, Destinoy : Integer;
    Color: TColor;
    Seleccion: integer;
    TiempoPath: cardinal;
    CteMetro: Cardinal;
    Tradmov: Array [1..MAXTRAD] of TTradMovil;
    constructor Create;
    destructor Destroy; override;
    procedure SetOrigen(x,y:integer);
    procedure SetDestino(x,y:integer);
    procedure SetOrDest(x,y,xx,yy:integer);
    procedure SetColor(ClColor:TColor);
    procedure Dibujar(Canvas:Tcanvas);
    function GetModulo:double;
    function GetAngulo:double;
    function GetTimems:double;
    function GetLonmetros:double;
  end;

  TSecuencia =class
   public
    Numero : integer;
    Nombre :String;
    Descripcion: String;
    Tiempo: cardinal;
    Recorr : Array [1..MAXREC] of TpathMovil;
  end;



PD: Agua....Agua... Vaya rollo que he escrito... Me he quedado seco.
NO llevo muy bien lo de los objetos pero mas o menos me estoy apañando. Aunque me falta mucha base.
Responder Con Cita
  #2  
Antiguo 01-04-2010
jplj jplj is offline
Miembro
 
Registrado: oct 2003
Posts: 189
Poder: 21
jplj Va por buen camino
Hola:

En la revista Síntesis a partir de su nº 3 hay una serie de artículos -Objetos Auxiliares- que tratan sobre TList y sus "derivados".
También podrías emplear un TObjectList para almacenar los objetos.
__________________
Sonríe. Mañana puede ser peor.
Responder Con Cita
  #3  
Antiguo 01-04-2010
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
gracias, mirare la informnación.
Seguramente simplificare la estructura de objetos. ya que me estoy liando con los array y los objetos y no paro de encontrarme con excepciones (por culpa de no inicializar arrays de objetos)

UN saludo y gracias por la ayuda..

Espero alguna sugerencia mas...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Duda sobre destrucción de objetos compuestos por otros objetos noob OOP 11 16-02-2009 00:28:33
Necesito ayuda con un stringlist... mauser1985 Impresión 1 16-07-2008 21:16:17
ayuda con la asignacion de objetos jfer Varios 9 03-05-2008 00:58:35
Ayuda con Objetos JerS OOP 7 12-10-2005 17:50:36
Limite del StringList victork_py Varios 8 11-05-2004 22:19:11


La franja horaria es GMT +2. Ahora son las 15:11:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi