Название: Как подвязать действия к GUI элементам? Отправлено: ice99 от 20 Апреля 2008, 21:48:08 Есть сцены №1,№2 и №3.
Есть идея в левом верхнем углу (каждой) сделать ComboBox, со списком "Сцена1,Сцена2,Сцена3", при выборе которых загружается соответствующая сцена. 1. Это возможно? 2. Как подвязать действие к клику? 3. Какой командой загрузить сцену cgr? Название: Re: Как подвязать действия к GUI элементам? Отправлено: KBECT0MAH от 21 Апреля 2008, 00:18:50 1. Возможно.
2. Смотри структуру "Rotation Check Box" в ...Quest3D 3.6.6\Tutorials\2.7 - Graphic user interface\ 3. Загрузить CGR в проект - "Импорт", запустить новую стартовую группу - SetNewStartChannel. Название: Re: Как подвязать действия к GUI элементам? Отправлено: ice99 от 02 Мая 2008, 19:01:59 Опять я.
Сделал объект "Combobox" У "Combobox" есть переменная "selected item" (0,1...) Добавляю "ChannelCaller"-"ChannelSwitch" для переключения 3D объектов в сцене согласно "selected item". Величина "selected item" меняется, действует на "Channel switch" и ВЫЗЫВАЕТ "render" (появляется голубая рамка в эдиторе), но ПОЧЕМУ дети "render"-а не вызываются? Как быть? прикрепил скриншот Название: Re: Как подвязать действия к GUI элементам? Отправлено: KBECT0MAH от 02 Мая 2008, 19:54:19 ... но ПОЧЕМУ дети "render"-а не вызываются? ... Ты задал тип ChannelSwitch'у? Надо кликнуть на нем два раза, выбрать 3D Render и нажать кнопку Set. Название: Re: Как подвязать действия к GUI элементам? Отправлено: ice99 от 03 Мая 2008, 09:04:18 ... но ПОЧЕМУ дети "render"-а не вызываются? ... Ты задал тип ChannelSwitch'у? Надо кликнуть на нем два раза, выбрать 3D Render и нажать кнопку Set. "Оболочка.ехе" "Сцена1.cgr" "Сцена2.cgr" "Сцена3.cgr" В зависимости от моих манипуляций с меню - "Оболочка.ехе" грузит соответствующую сцену из своей же папки. Просто хочу не перекомпилируя ехе-шник подбрасывать однотипные сцены в папку. Например в Сцена3.cgr геометрический объект. Т.е. нужно "склеить куски" кодов "Оболочка.ехе"+"Сцена3.cgr" Кто делал? Какие наметки? Название: Re: Как подвязать действия к GUI элементам? Отправлено: KBECT0MAH от 03 Мая 2008, 23:52:31 ... Хочу сделать следующую структуру ПАПКИ ГОТОВОГО проекта. "Оболочка.ехе" "Сцена1.cgr" "Сцена2.cgr" "Сцена3.cgr" В зависимости от моих манипуляций с меню - "Оболочка.ехе" грузит соответствующую сцену из своей же папки. ... Посмотри здесь - ..\Quest3D 3.6.6\Examples\Advanced\Dynamic lua loading\ Я тут просматривал для своих нужд, думаю это и тебе подойдет :D Редактирование: еще в самом "Квесте" есть пример - Templates > 08-System > Dynamic Loading > Download Manager > Load CGR From File . Название: Re: Как подвязать действия к GUI элементам? Отправлено: ice99 от 05 Мая 2008, 20:13:59 ... Хочу сделать следующую структуру ПАПКИ ГОТОВОГО проекта. "Оболочка.ехе" "Сцена1.cgr" "Сцена2.cgr" "Сцена3.cgr" В зависимости от моих манипуляций с меню - "Оболочка.ехе" грузит соответствующую сцену из своей же папки. ... Посмотри здесь - ..\Quest3D 3.6.6\Examples\Advanced\Dynamic lua loading\ Я тут просматривал для своих нужд, думаю это и тебе подойдет :D Редактирование: еще в самом "Квесте" есть пример - Templates > 08-System > Dynamic Loading > Download Manager > Load CGR From File . например "q.LoadChannelGroupDQ("Box.cgr", "Box",0, "DownloadProgress")" НО!!! такой метод работает ТОЛЬКО когда при паблише я ВКЛЮЧАЮ подгружаемый файл (Box.cgr) в компилированный проект. Но смысл то был в другом - брать "Box.cgr" c ВИНТА. Или я чего не правильно понял? Рисунок прилагаю. Название: Re: Как подвязать действия к GUI элементам? Отправлено: KBECT0MAH от 05 Мая 2008, 20:43:51 Что-то я не могу понять все-равно. Посмотрел несколько примеров, все однотипные, сводятся к одному: например "q.LoadChannelGroupDQ("Box.cgr", "Box",0, "DownloadProgress")" НО!!! такой метод работает ТОЛЬКО когда при паблише я ВКЛЮЧАЮ подгружаемый файл (Box.cgr) в компилированный проект. Но смысл то был в другом - брать "Box.cgr" c ВИНТА. ... Если ты внимательно смотрел пример Dynamic lua loading, то там модели и текстуры грузятся с удаленного сервера!! Если тебе надо грузить с винта, то тебе надо прописать жесткий путь - например "C:\SuperPuperDemka\ModelsShmodels\" Я не проверял ::) но должно работать ;D . Название: Re: Как подвязать действия к GUI элементам? Отправлено: ice99 от 05 Мая 2008, 21:14:46 Что-то я не могу понять все-равно. Посмотрел несколько примеров, все однотипные, сводятся к одному: например "q.LoadChannelGroupDQ("Box.cgr", "Box",0, "DownloadProgress")" НО!!! такой метод работает ТОЛЬКО когда при паблише я ВКЛЮЧАЮ подгружаемый файл (Box.cgr) в компилированный проект. Но смысл то был в другом - брать "Box.cgr" c ВИНТА. ... Если ты внимательно смотрел пример Dynamic lua loading, то там модели и текстуры грузятся с удаленного сервера!! Если тебе надо грузить с винта, то тебе надо прописать жесткий путь - например "C:\SuperPuperDemka\ModelsShmodels\" Я не проверял ::) но должно работать ;D . в примере q.LoadChannelGroupDQ("LUA07 - Box.cgr", "Box",0, "DownloadProgress") по твоему совету исправил на q.LoadChannelGroupDQ("D:\3456435\LUA07_-_Download_Manager\LUA07 - Box.cgr", "Box",0, "DownloadProgress") то же самое. не вызывается и все тут. прикрепил пример Название: Re: Как подвязать действия к GUI элементам? Отправлено: KBECT0MAH от 05 Мая 2008, 23:27:22 да нет там никакого удаленного сервера смотри скрин примера из папки - ..\Quest3D 3.6.6\Examples\Advanced\Dynamic lua loading\в примере Цитировать ... Я же написал , что не проверял ::) но сейчас посмотрел и выяснил, что путь надо писать через *опу :o по твоему совету исправил на q.LoadChannelGroupDQ("D:\3456435\LUA07_-_Download_Manager\LUA07 - Box.cgr", "Box",0, "DownloadProgress") то же самое. не вызывается и все тут. ... с "правыми слэшами". Вот так - "C:/SuperPuperDemka/ModelsShmodels/BoxShmox.crg" ;D Только я пока не разобрался как заставить отображаться обекты в сцене :-\ в окне Object 3D View геометрия отображается, а в Animation 3D View нет... Буду копать завтра днем ;D Редактирование: забыл сказать :) что твой исходник не смотрел, потому что он в 4.1 сделан. Просьба ко всем - указывайте версию "Квеста" ваших исходников. . Название: Re: Как подвязать действия к GUI элементам? Отправлено: ice99 от 06 Мая 2008, 13:54:02 С обратными слешами - РАБОТАЕТ, но ТОЛЬКО абсолютные пути.
т.е. ни один из относительных вариантов .\something.cgr .\\something.cgr \something.cgr \\something.cgr ./something.cgr /something.cgr something.cgr не подходит. Запустил несколько потоков на офсайте - по-ходу никто так и не решил вопрос. Вроде-как там из-за бага в относительный путь добавляютя кавычки ("), поэтому система не может ничего найти. Есть вариант запускать экзешник проекта через батник, который создает в текстовике запускной путь, а квест подхватывает его. Говорят так работает, но как-то через одно место. Пытался поковыряться winhex-ом и убрать найти эти лишние кавычки, нашел пару мест, но хакер из меня никакой, ничего не вышло. Какие идеи? На офсайте завязал жаркую дискуссию по этому вопросу, с примерами и доказательствами, в конце концов они решили что я использую варезный квест, и предложили зарегить копию. Вот ссылка, http://75.125.130.82/forum/index.php?action=dlattach;topic=64584.0;attach=126032 на "работающий пример". Но он не работает. Может кто проверить? |