Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Навигация мышкой в 3D программе 
:(
    Опции темы
Elfet
  Дата 8.6.2007, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Как реализовать навигацию в 3D программе при помощи мышки? Как скрыть курсор и изменять его позицию?  smile 


--------------------
PM MAIL WWW Skype   Вверх
archeg
Дата 8.6.2007, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27



Цитата(Elfet @  8.6.2007,  11:56 Найти цитируемый пост)
Как реализовать навигацию в 3D программе при помощи мышки? Как скрыть курсор и изменять его позицию?   

Ты пишешь свой движок через GDI?

Тогда все через WinAPI - там кажись где-то было и скрытие курсора, и установка в нужную позицию.

Скрыть курсор можна, поставив полностью прозрачный значок smile 

www.pinvoke.net


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Elfet
Дата 8.6.2007, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(archeg @  8.6.2007,  13:19 Найти цитируемый пост)
Тогда все через WinAPI 

А где мне искать? smile (кроме гуглю, хотелось бы поточнее)


--------------------
PM MAIL WWW Skype   Вверх
archeg
Дата 9.6.2007, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27





--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Elfet
Дата 9.6.2007, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Ок! Спасибо! smile


--------------------
PM MAIL WWW Skype   Вверх
Elfet
Дата 9.6.2007, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Только как реализовать ещё не совсем понимаю. Вот такая конструкция
Код

        private void screen1_MouseMove(object sender, MouseEventArgs e)
        {
            if (lockMouse)
            {
                MoveCursor(Width / 2, Height / 2);
            }
        }

слишком много ресурсов берёт :/


--------------------
PM MAIL WWW Skype   Вверх
archeg
Дата 10.6.2007, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27



Цитата(Elfet @ 9.6.2007,  11:39)
Только как реализовать ещё не совсем понимаю. Вот такая конструкция
Код

        private void screen1_MouseMove(object sender, MouseEventArgs e)
        {
            if (lockMouse)
            {
                MoveCursor(Width / 2, Height / 2);
            }
        }

слишком много ресурсов берёт :/

Кидай мышку в центр только если она выходит за зону некторого прямоугольника, который меньше чем разрешение. Чем ближе прямоугольник к разрешению экрана - тем больше будет глюков (когда мышку сильно рвануть, она может остановится), чем меньше - тем больше будет рывков во время движения.

Или я не правильно понял, в чем проблема?


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Exception
Дата 10.6.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 5
Всего: 186



Для ограничения области передвижения курсора используется метод Cursor.Clip(), если тебе это нужно.
PM   Вверх
Elfet
Дата 13.6.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Мне нужно реализовать просмотр мышкой в 3D программе  smile 


--------------------
PM MAIL WWW Skype   Вверх
archeg
Дата 13.6.2007, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27



Цитата(Elfet @  13.6.2007,  14:56 Найти цитируемый пост)
Мне нужно реализовать просмотр мышкой в 3D программе   

Ну блин  smile 

Вообще зачем мучатся? Используй уже существующий MDX или XNA


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Elfet
Дата 13.6.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



archeg, хочется самому  smile 


--------------------
PM MAIL WWW Skype   Вверх
archeg
Дата 13.6.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 9
Всего: 27



Сложно это. В основном таким занимается далеко не один человек smile 
http://www.cgal.org/
http://en.wikipedia.org/wiki/POV-Ray
Там все с исходниками.


Это сообщение отредактировал(а) archeg - 13.6.2007, 18:25


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Elfet
Дата 13.6.2007, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



ок


--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0552 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.