Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: 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 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.035 c
1-1079822293
НерВ
2004-03-21 01:38
2004.04.11
Автозагрузка приложения


4-1079083081
BillyJeans
2004-03-12 12:18
2004.04.11
Как в WndProc обработать сообщения от конролов с формы?


1-1079939863
ssk
2004-03-22 10:17
2004.04.11
Имя шрифта TTF


1-1079960738
russko
2004-03-22 16:05
2004.04.11
Нажатие клавиш


9-1070216613
mrAld
2003-11-30 21:23
2004.04.11
Мультитекстурирование