Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> изменение курсора 
:(
    Опции темы
Ferrisgeneral
Дата 25.10.2010, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



как лучше всего в DirectX реализовать изменение вида курсора при достяжении края окна ?
может курсор надо использавить стандартные курсоры или в виде спрайта или еще как-то ?
надо проверять WinAPI'шными функциями положения мышки в окне чтобы определить момент смены курсора ?
PM MAIL   Вверх
BorisVorontsov
Дата 26.10.2010, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 1
Всего: 10



Оконный вывод D3D не меняет на своей области вид курсора, коий, кстати, определяется классом окна
Можешь задать свой вопрос более конкретно?


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
Ferrisgeneral
Дата 26.10.2010, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



видел например пару реализаций где курсор заменяется WinAPI'шными функциями, типа ShowCursor, LoadCursor, SetCursor ... , ну и реализыции где курсор отрисовывали в поле окна в виде спрайта с текстуркой курсора.
Какой вариант предпочтительнее использовать и в каких ситуациях.

Приложение не всегда будет иметь оконный режим, но так же и полноэкранный. Хочется чтобы при достяжении края (приближение к краю на какое-то растояние) окна (оконный режим) или края экрана (полноэкранный режим), курсосор менял свой вид и оставался в окне если курсор вышел за пределы окна (при выходе за пределы окна курсор должен меняться на системный).
PM MAIL   Вверх
BorisVorontsov
Дата 26.10.2010, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

Репутация: 1
Всего: 10



Цитата(Ferrisgeneral @  26.10.2010,  12:03 Найти цитируемый пост)
Какой вариант предпочтительнее использовать и в каких ситуациях.

Пожалуй, вариант со спрайтом
Во-первых, потому, что проще нарисовать требуемый курсор, во-вторых, проще выполнить взаимодействие курсора с игрой -- сложная анимация, плавные превращения из одного курсора в другой и т.д.
Но DX имеет собственный механизм замещения курсора, IDirect3DDevice9::SetCursorProperties, так что использовать функции User32 несколько странно


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
Ferrisgeneral
Дата 26.10.2010, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



спасибо за разъеснение.  smile 
про SetCursorProperties даже и не знал. А с WinAPI'шными функциями и дело не хотелось иметь.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




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


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

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