Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

Помогите ламеру с DelphiX   Найти похожие ветки 

 
Bizon's ©   (2004-06-11 14:56) [0]

Разбираюсь с DelphiX ми у меня возникла задача:
Есть 3Д кубик
Когда кликаешь мишкой нужно определить на какую грань попал
Как это можно реализовать?


 
papa_jen   (2004-06-12 08:36) [1]

это уже Direct3D используеться. именно такой пример расмотрен в книге Краснова - ДиректИКС в проектах делфи.


 
Bizon's ©   (2004-06-13 11:55) [2]

Как я помню там тупо.
Красились предметы в разный цвет и определяли на какой цвет кликнули. Нету ли другого способа.


 
Sapersky   (2004-06-14 12:13) [3]

Если используется DelphiX, т.е. Direct3DRM, то можно использовать встроенные в него средства проверки попаданий (Frame.RayPick/GetPick/GetElement). Но, судя по тем примерам что у меня сохранились, нужно будет для каждой грани куба использовать отдельный фрейм - не очень-то удобно.

Можно повозиться с геометрией. Например, вручную трансформировать видимые грани куба и проверять попадание "мишки" в экранных координатах (т.е. попадание точки в четырёхугольник). Не совсем оптимально, правда - D3D трансформирует, потом мы ещё раз... но для куба сойдёт.

Или наоборот, получать вектора положения/направления курсора в пространстве и проверять на их на пересечение с трёхмерными гранями, что, собственно, и делает RayPick.

Реализуешь это - тогда обзывай Краснова как хочешь. А пока - не стоит :)



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

Форум: "Игры";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.047 c
14-1095879895
lipskiy
2004-09-22 23:04
2004.10.10
Математика смешивания цветов?


4-1094469016
Mamed
2004-09-06 15:10
2004.10.10
umensit size JPG fayla


1-1096268077
Kniaz
2004-09-27 10:54
2004.10.10
Код приложения?????????????


1-1096123353
appendix
2004-09-25 18:42
2004.10.10
фиксированная колонка в StringGrid


1-1096359082
46_55_41_44
2004-09-28 12:11
2004.10.10
Не печатаются цвета из FastReport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский