|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Обзор мышкой в 3D |
Страницы: 1 |
Автор | Сообщение |
Nordsoft частый гость Группа: Участники Сообщений: 29 |
Добавлено: 05-12-2005 15:35 |
Разрабатываю 3D-движок для стратегий на ГМ и возникла проблема. Сделал вращение камеры мышкой, но для выбора юнита недостаточного сравнения x и y с mouse_x и mouse_y. Кажется, требуются какие-то математические формулы. Если кто может, напишите код проверки координаты мышки над поверхностью (причем она не ровная). | |
Paradox магистр Группа: Сообщество GM Сообщений: 462 |
Добавлено: 07-12-2005 00:18 |
вообще то mouse_x и mouse_y - это конкретно координаты мыши в ИГРЕ, а не в окне. Дл конкретно окна есть window_get_mouse_x(y)/Если у тебя как то по другому, то напиши. А вообще, можно сделать чтобы за мышкой следил объект, то есть все время в точку мыши двигаося, и при столкноввении объекта с юнитом мышка могла юнита выбрать. | |
Nordsoft частый гость Группа: Участники Сообщений: 29 |
Добавлено: 07-12-2005 16:08 |
Здесь немного другая проблема. Взять например 3Д макс, когда ты хочешь создать кубик на перспективе, ты нажимаешь на какую-либо точку и вершина при этом создается на проскости прямо по мышкой, а не на ее координатах. У меня же такое сделать не получается. | |
Paradox магистр Группа: Сообщество GM Сообщений: 462 |
Добавлено: 04-04-2006 19:15 |
ах вот как хитро. Ну тут можно через repeat. Во первых, нужно знать три координаты мыши в пространстве игры. То есть вот пользователь видит ее на экране, а в игре она находится над всеми объектами, между ними ипользователем. Ну ты понял. И по функции repeat пускаешь луч от мышки по направлению от пользователя. Если точка столкнулась с кем либо, то тот объект и выделяем repeat(9999){ x+=cos(D*pi/180) y-=sin(D*pi/180) z+=cos(D*pi/180) if ___{break} } D - это направление луча |
|
Nordsoft частый гость Группа: Участники Сообщений: 29 |
Добавлено: 16-04-2006 12:45 |
А как найти координаты мыши в прстранстве? Для определения направления камеры я использую 2 направления - обычный direction и zdir (вертикальная направляющая, 180-вертикально вверх, 0-вниз, 90-горизонтально), зная координаты мыши относительно плоскости камеры, нужно узнать ее "обычные" координаты. | |
Paradox магистр Группа: Сообщество GM Сообщений: 462 |
Добавлено: 16-04-2006 13:20 |
Ты знаешь. Тут другой выход. В играх, в 3д стратегиях, лучше сделать для мыши трехмерный объект. И тогда он будет двигаться по экрану не в точку мыши, а по встроенным в игур формулам. К примеру, если двинуть мышь вверх, то тогда объект двигаем по оси Y и т.п. |
Страницы: 1 |
Game Maker Форум / Вопросы и Ответы (Для Опытных) / Обзор мышкой в 3D |