Pisze prościutki a'la silniczek w OGL'u (na GLScene). Sprawa jest prosta: zrobiłem sobie trójwymiarową mape (heightmap odczytany z pliku), wstawiłem to na ekran, teraz z innego pliku odczytuje, ścieżki do modeli oraz ich X,Y,Z, poczym dynamicznie tworząc objekty, ustawiam wyczytane objekciki w żądanych pozycjach.
Cała idea wygląda następująco:
procedure TForm1.CreateObjects;
var i: byte;
begin
for i:=0 to ObjMp.ItemCount-1 do //wiadomo...
begin
obj:=TGLFreeForm(Dummy.AddNewChild(TGLFreeForm)); //tworzymy objekcik
Obj.LoadFromFile('obj\'+ObjMp.Items[i].ObjFile); //czytamy model
Obj.Position.X:=ObjMp.Items[i].X; //ustawiamy rzecz jasna
Obj.Position.Z:=ObjMp.Items[i].Y; //...
Obj.Position.Y:=ObjMp.Items[i].Z; //...
Obj.BuildOctree(); //wrzucamy na ekranik
end;
end;
Wszystko działa ładnie, pięknie, lecz... nasuwa mi się jedno pytanie odnośnie dynamicznego tworzenia objektów tj.: jak teraz przesunąć jeden z tych objekcików, dajmy na to ten "stworzony jako trzeci", tzn jak sie odwołać do takiego objektu, poza procedurą gdzie takowy został stworzony.
Z góry dziękuje...