forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Поворот объекта колесиком (http://forum.boolean.name/showthread.php?t=13511)

Program23 17.10.2010 18:51

Поворот объекта колесиком
 
Здравствуйте,я тут начал делать редактор карт и наткнулся вот на такую проблему.
Есть у меня три кнопочки: X,Y,Z и некий объект:Сфера.
При нажатии,например, на кнопочку X, и при последующем вращении колесика на мышке, сфера должна вращаться по оси X.По аналогии и с кнопками Y,Z.
Но если повернуть колесико по оси X,а потом переключиться на поворот по оси Y,то по оси Y,объект повернется на значение переменной mzs=MouseZSpeed()*5 .
А мне же надо,чтобы при X, я поворачивал колесиком объект.
Переключаюсь на Y,там поворачиваю,как хочу.
Переключившись,обратно на X, там значение поворта было бы то,на которое я повернул объект ранее.

Извините,если вопрос тупой,просто сегодня мозг не варит,может быть это и легко реализовать.Та еще вдохновенья у меня нет. Кстати,рою инет:
blitz3d редактор карт. И практически ничего стоящего не находит.

Colossus 17.10.2010 19:44

Ответ: Поворот объекта колесиком
 
у меня такая же проблема с пошаговым зумом камеры через колесико (для оптического прицела снайперской винтовки)

Program23 17.10.2010 20:45

Ответ: Поворот объекта колесиком
 
Если,никто ничего не может посоветовать,придется СкролерБуттоном делать(((

Bizzy 17.10.2010 21:59

Ответ: Поворот объекта колесиком
 
Цитата:

Сообщение от Program23 (Сообщение 164938)
Здравствуйте,я тут начал делать редактор карт и наткнулся вот на такую проблему.
Есть у меня три кнопочки: X,Y,Z и некий объект:Сфера.
При нажатии,например, на кнопочку X, и при последующем вращении колесика на мышке, сфера должна вращаться по оси X.По аналогии и с кнопками Y,Z.
Но если повернуть колесико по оси X,а потом переключиться на поворот по оси Y,то по оси Y,объект повернется на значение переменной mzs=MouseZSpeed()*5 .
А мне же надо,чтобы при X, я поворачивал колесиком объект.
Переключаюсь на Y,там поворачиваю,как хочу.
Переключившись,обратно на X, там значение поворта было бы то,на которое я повернул объект ранее.

Извините,если вопрос тупой,просто сегодня мозг не варит,может быть это и легко реализовать.Та еще вдохновенья у меня нет. Кстати,рою инет:
blitz3d редактор карт. И практически ничего стоящего не находит.

попробуй с этой мыслью mzs=mzs + MouseZ()*5 .
только изначально проверяй разницу от начала использования и до реального времени.

может не понравится, но как то пришлось делать вот так:


Код:

If MouseDown(2) Then
        If st_m = 0 Then
                mx = MouseX()
                my = MouseY()
                st_m = 1
        EndIf
       
If  S_MXT# <> S_MXT# + MouseX() - mx Then
S_MXT# = S_MXT# + MouseX() - mx
mx = MouseX()
EndIf


If  S_MyT# <> S_MyT# + MouseY() - my Then
S_MyT# = S_MyT# + MouseY() - my
my = MouseY()
EndIf

Else
st_m = 0
EndIf

пояснять не буду.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot