Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 30.09.2012, 15:19   #1
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Управление мышью, аля Drag&Drop

Друзья, подскажите идею для реализации следующей задачи:

Есть объект, у него есть объектные оси, как на изображении.
Но это не суть. Мне нужно двигать оси при нажатии мышкой на нее.
Вся сложность в том, что я не понимаю, на какие изменять координаты оси, при движении мыши.



Именно по какой формуле рассчитывать координаты.
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 15:25   #2
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Юзай TFormVector (емнип).
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 15:28   #3
Nex
Гигант индустрии
 
Аватар для Nex
 
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений
(для 3,298 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Есть пример с этой фигней в примерах Xors'a
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 15:31   #4
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Можно чуть подробнее..?
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 15:36   #5
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Пример посмотрел, но мне бы саму логику процесса понять...
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 15:54   #6
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Сообщение от DarkMedveD Посмотреть сообщение
Пример посмотрел, но мне бы саму логику процесса понять...
xTFormVector ( x,y,z (вектор перемещения) , entity, 0 )
xMoveEntity(entity, xTFormedX(),xTFormedY(),xTFormedZ() )
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:06   #7
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Сообщение от Nerd96 Посмотреть сообщение
xTFormVector ( x,y,z (вектор перемещения) , entity, 0 )
xMoveEntity(entity, xTFormedX(),xTFormedY(),xTFormedZ() )
В вектор перемещения какие координаты надо передавать? Я же к мыши это привязываю.
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:11   #8
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

CameraProject проецирует координаты объекта в 2D, а мне, получается, надо обратный процесс?
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:14   #9
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Сообщение от DarkMedveD Посмотреть сообщение
В вектор перемещения какие координаты надо передавать? Я же к мыши это привязываю.
Нормализованный вектор оси умножай на дельту перемещения мыши.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:19   #10
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Ни черта не понимаю.

Дельта мыши - разность текущей позиции и позиции раньше?
Как умножить вектор на дельту?
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:23   #11
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Сообщение от DarkMedveD Посмотреть сообщение
Ни черта не понимаю.

Дельта мыши - разность текущей позиции и позиции раньше?
Как умножить вектор на дельту?
;Перемещение по X-оси:

x = xMouseXSpeed()
y = xMouseYSpeed()
c# = (x+y)*й 0.1

xTFormVector(1,0,0, entity,0)

xMoveEntity(entity,xTFormedX()*c, xTFormedY()*c, xTFormedZ()*c)

Как-то так
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:29   #12
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Почему в TFormVector передаю (1,0,0)

Что это? Шаг вверх? Как это понять?

Спасибо, уже что-то складывается в голове.
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:30   #13
Nerd
Чудо-кот
 
Аватар для Nerd
 
Регистрация: 22.02.2011
Сообщений: 901
Написано 480 полезных сообщений
(для 1,471 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Сообщение от DarkMedveD Посмотреть сообщение
Почему в TFormVector передаю (1,0,0)

Что это? Шаг вверх? Как это понять?
1,0,0 - X
0,1,0 - Y
0,0,1 - Z
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 16:34   #14
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Понял, спасибо!
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Старый 30.09.2012, 17:25   #15
DarkMedveD
ПроЭктировщик
 
Аватар для DarkMedveD
 
Регистрация: 26.12.2008
Адрес: Питер
Сообщений: 151
Написано 5 полезных сообщений
(для 6 пользователей)
Ответ: Управление мышью, аля Drag&Drop

Огромное спасибо, реализовал.

Единственная проблема - если к оси подбираться с другой стороны, то движение инвертируется. С этим как-нибудь можно справиться?
__________________
Фантазия плохого программиста ограничивается его знанием языка. Фантазия хорошего программиста ограничивается возможностями языка и компилятором. Фантазия гениального программиста не ограничивается ничем.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 20:33.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com