![]() |
Двигать объект двухмерным курсором
День добрый.
Ситуация такая. Имеется объект (в данном случае - куб). Прилажен двухмерный курсор. После зажатия левой кнопки мыши с курсором на объекте при движении мышой влево\вправо и вверх\вниз объект наш двигается по осям Х и Z... Как так сделать? На какие величины двигать? :4to: Заранее спасибо. |
Re: Двигать объект двухмерным курсором
MoveEntity куб,mxs#*.01,0,-mys#*.01 ,где
mxs# и mys# соответственно MouzeXspeed и MouseYspeed разделенные на чуствительность. |
Re: Двигать объект двухмерным курсором
Все. Благодарю. :)
|
Re: Двигать объект двухмерным курсором
2c0mrad
Извращенец?:-) 2Valet Тут нужно преобразовать 3д координаты в 2д и наоборот: Тыкай на куб и двига Код:
Graphics3D(640, 480, 16, 2) И использовать CameraPick() чтобы определить клик на 3д обьекте. |
Re: Двигать объект двухмерным курсором
Цитата:
|
Re: Двигать объект двухмерным курсором
Ой мальчики, вы только не ссорьтесь :) Спасибо обоим. Особенно Платону - как раз то, что я хотел!
|
Re: Двигать объект двухмерным курсором
Цитата:
|
Re: Двигать объект двухмерным курсором
не все, я думаю, понимают смысл буквы "д".
imho: Неразбериха возникла из-за постановки вопроса. В любом случае лутче уж два ответа чем один, если точно не знаеш что от тебя хотят ;) |
Re: Двигать объект двухмерным курсором
В первом варрианте, если камера повёрнута куда-либо, то уже не прокатывает.
Мой варриант, только теория как я в своём редакторе делал движение: Есть plane, который ставится на высоту PickedY, и выберается объект который выбрали. Плайн конечно прозрачный. После того как объект выбран у него убирается Пик, а у плайна остаётся, и нужно просто двигать на разницу от того момента как зажал мышку на объекте, и текущих Пик координат на Плайне. Вот и всё, это лучший варриант, по мне так. |
Re: Двигать объект двухмерным курсором
В первом варрианте, если камера повёрнута куда-либо, то уже не прокатывает.
Верно. Ксатати, Мока, я мог бы у тебя потом парочку вещей спросить, иначе я делаю нечто вроде твоего редактора (где можно было размещать и двигать объекты)? |
Re: Двигать объект двухмерным курсором
Цитата:
|
Re: Двигать объект двухмерным курсором
это вроде твой редактор RPG мира.
|
Re: Двигать объект двухмерным курсором
Где сам редактор? Вроде там в аттаче. :4to: Первый пост смотрите, темы проекта.
|
Re: Двигать объект двухмерным курсором
А что нужно заменить или написать, чтобы 3д объект постоянно следовал за 2д курсором? То бишь чтобы мышь как бы была всегда нажата )
|
Re: Двигать объект двухмерным курсором
команда mousedown()
|
Re: Двигать объект двухмерным курсором
Цитата:
Мне по сути mousedown вообще не нужен, мне НЕ надо, чтобы мышь буквально была всегда нажата. Надо просто чтобы объект следовал за мышью :) |
Re: Двигать объект двухмерным курсором
Myster, смотри справку по CameraPick.
Я могу перефразировать твой вопрос: "У меня мало опыта, как мне его получить?" Извени за грубость, но реально, просто начни с меньшего и просто учись, пользуйся своими способностями, и пологайся Только на себя, так ты научишся Очень быстро. |
Re: Двигать объект двухмерным курсором
MoKa, не, нормально, не грубо вовсе )) Хотя начальный опыт у меня точно есть, но все ж не идеален )) Все эти дела с командами я уже сделал, много раз коды правил во всевозможных местах :-) Справку всю изрыл, сущность я понимаю этих команд, но я не понимаю банально "почему оно не работает?" %) )) Я уже долго с этим мучаюсь, +после всего неделю поиском пользовался, в результате ни к чему не пришел, поэтому вопрос и задаю. В конце концов, я думал этот форум создан помогать людям :@ :pardon: Я исключительно в безвыходной ситуации задаю вопросы ))
Мне бы понять как в приведенном Cyan'ом коде сделать так, чтобы куб этот можно было постоянно двигать :crazy: Хотелось бы прям кусочком кода хотя бы, если возможно. Если кто-то хоть чем-то может намекнуть (кроме единичной команды), буду оч признателен :) Заранее спс ) |
Re: Двигать объект двухмерным курсором
Myster :)
Смотри, у нас есть объект(модель), есть цель(пивот). Коммандами CameraPick можно получить точку нажатия, туда ставишь пивот (цель). Далее функцией PointEntity направляешь модель на пивот. И поворачиваешь модель так: RoateEntity Entity,0,EntityYaw(Entity),0 Таким образом будет предотвращено поворачивание по всем осям кроме горизонтальной. И двигаешь вперёд (+z). |
Re: Двигать объект двухмерным курсором
Вложений: 1
MoKa, спс большой, подсказка очень дельная. Я не сказал, что мне надо, но ты уже понял: именно то, что мне нужно - объект и цель, на которую он смотрит :)
Но когда я традиционным копи-пастом совместил код Cyan'а со своим, опять плохо поперло :dontknow: Может это из-за того, что у меня вид сверху сделан, а тут сбоку? А может и нет, не знаю :crazy: Моя мышь все равно не хочет привязываться, более того, она ваще той же мышой не двигает куб. Если кто может, проверьте плиз код, если несложно, в чем проблема-то?:''(( Почему мыша не привязывается? Я пробовал всякими способами, но это получалось глючное вечно скачущее нечто:-) ПС: mousehit я оставил для целостности, чтобы все видели где заимствованный код )) да и вообще там многое сохранено ) |
Re: Двигать объект двухмерным курсором
Цитата:
Не знаешь почему, т.к. копи-пастишь. Удали всё и напиши с нуля, напрягись. Ты сможешь. |
Re: Двигать объект двухмерным курсором
Цитата:
Код:
;Разрешение |
Часовой пояс GMT +4, время: 07:24. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot