FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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. |
#3
|
|||
|
|||
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... |
|
|
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 |
|