- type
- tparticle=packed record
- pos:tvec3; // Position bei t = 0
- velo:tvec3; // Bewegungsvektor bei t = 0
- life:single; // Wert zwischen 0 und 1, wichtig für z.B. Farbverläufe
- respawn:single; // Auch ein Wert zwischen 0 und 1 gibt die Position im "Zeitfenster" an
- end;
- const
- count=200; // Anzahl der Partikel die angezeigt werden
- var
- particles:array[0..count-1]of tparticle; // Array für die Partikel
- grav:tvec3; // Globaler Gravitaionsvektor oder sowas
- procedure initsys; // Initalisierung des Systems
- var i:integer;
- begin
- for i:=0 to count-1do
- begin
- with particles[i]do
- begin
- pos.x:=0;
- pos.y:=-0.25;
- pos.z:=0;
- velo.x:=0.6-1.2*random;
- velo.y:=2+0.2*random;
- velo.z:=0.6-1.2*random;
- respawn:=i/count;
- life:=0;
- end;
- end;
- grav.x:=0;
- grav.y:=4;
- grav.z:=0;
- end;