Вниз
Скачать: CL | DM;

GLScene - копирование обьекта в процессе выполнения программы   Найти похожие ветки 

← →
Andrew R2D2 (RnD)   (2003-09-28 19:15) [0]

Подскажите, пожалуйста, как в runtime (!) организовать копирование объекта (или присвоение его свойств другому объекту). Мне нужно скопировать линию - создавать новый объект, прописывать заново все вершины и их свойства слишком накладно.

Строка типа Line.Assign(Form1.Lines1); вызывает ошибку и к тому же, насколько я понимаю, Assign просто передает указатель на Lines1 в Line, а не копирует свойства объекта.


← →
Карлсон ©   (2003-09-28 21:01) [1]

а чего прописывать то?
просто присвоить значения слабо уже?
a:=10;
b:=a;
так не катит?


← →
Andrew R2D2 (RnD)   (2003-09-28 21:57) [2]

При таком способе присвоения (b:=a) ВСЕ манипуляции над Line влияют и на Line1 что не есть хорошо...
Линия имеет кучу параметров, в том числе и Nodes (список вершин с их параметрами).
При динамическом создании линии прийдется заново прописывать все параметры линии и параметры каждой вершины, поэтому необходима возможность создания копии объекта типа TLines.


← →
Sacred ©   (2003-09-28 22:15) [3]

Посмотри файл GLSceneEditor.pas...это редактор самой сцены...может чем поможет


← →
Карлсон ©   (2003-09-28 22:59) [4]

хорошо, есть положим эта самая линия начальная.
у нее есть координаты и всякое такое.
нужно создать копию линии в данных же координатах или в начальных?
ведь при создании новой линии вы только назначаете начальные значения, а потом уже их изменяете.
что мешает динамически загрузить параметры, а потом их же динамически изменять?
как все это в PD работает не знаю, т.к. PD дичаюсь пока.
но вот в DelphiX все просто.
слздаем нужный спрайт с нужными параметрами.
а потом изменяем значения на далее необходимые.
все динамически.

наверное я не понял вопроса?
можно тогда как "для особо тупых"?


← →
Andrew R2D2 (RnD)   (2003-10-02 10:38) [5]

Объясняю ситуацию:
В сцене присутствует линия Lines1(в данном случае созданная динамически - вершины прописываются во время выполнения програмы, цвет и прочие параметры линии тоже описываются динамически).
Необходимо создать копию этой линии, расположенную на экране например на 100 пикселей ниже чем оригинал.

Мой вариант с динамическим созданием Lines2, операцией присвоения Lines2:=Lines1 и последующим изменением координат Lines2 приводит  к изменению положения оригинала (т.е. получается теперь просто есть две ссылки - Lines1 и Lines2 - на один и тот же объект).

"создаем нужный спрайт с нужными параметрами.
а потом изменяем значения на далее необходимые.
все динамически." - можно пример ?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
14-1079131188
Программист
2004-03-13 01:39
2004.04.11
Что означают разноцветные "копирайты"


11-1068202747
Sagrer
2003-11-07 13:59
2004.04.11
Можно ли сделать MsgOK модальным?


14-1081913061
User_OKA
2004-04-14 07:24
2004.04.11
WinXP


7-1080251203
Bulanov
2004-03-26 00:46
2004.04.11
СОМ порт


3-1079008733
Andrew
2004-03-11 15:38
2004.04.11
Неправильная работа TDBLookupComboBox




   Наверх