Форум: "Игры";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c