Кормпилятор
|
||||||
1 | ||||||
Мышка FreeBasic (Получение мгновенного шага)29.12.2012, 02:34. Показов 3573. Ответов 23
Метки нет (Все метки)
Всех приветствую!
1
|
29.12.2012, 02:34 | |
Ответы с готовыми решениями:
23
Реализация мгновенного поиска Нахождение мгновенного значения токов Программа для мгновенного обмена сообщениями Записать выражение мгновенного значения указанной электрической величины |
126 / 53 / 1
Регистрация: 26.10.2012
Сообщений: 89
|
||||||
29.12.2012, 06:31 | 2 | |||||
Такой пример пойдет?:
1
|
Кормпилятор
|
|
29.12.2012, 10:07 [ТС] | 3 |
А если ставлю SetMouse , , , 1 чтобы мышь всегда была в окне, то получается, что когда мышь доходит до границы - упирается и дельта тоже не возвращается. Я конечно ещё поэкспериментирую с этим кодом(т.к. он ловит событие), но боюсь, что не получится. Вообще никогда не думал что возникнут сложности с мышкой, вроде бы система должна иметь возможность возвращать дельту непосредственно.
0
|
126 / 53 / 1
Регистрация: 26.10.2012
Сообщений: 89
|
||||||
29.12.2012, 12:05 | 6 | |||||
Для винды:
1
|
Кормпилятор
|
|
29.12.2012, 13:01 [ТС] | 7 |
Сейчас буду пробовать, но уже вижу, что дельта работает, пока мышь не уткнулась в край экрана.
В лучшем случае если размещать курсор по центру, такой дельты хватит на 2 кадра максимального приращения, зависит ещё от разрешения моника и сенсы установленной в винде(а то и вообще может не хватить). Суть в том, что если к примеру я функцией SetMouse ставлю позицию курсора, то как бы сбрасывается весь текущий прогресс по накоплению дельты с момента последнего изменения этого дельта во внутреннем состоянии того интерфейса, которым пользуется FB. Это даёт очень неприятный эффект, когда вдруг мышь на дюлю секунды перестаёт реагировать и в результате указатель не смещается, как должен, проверяется это круговыми движениями мыши. Такие ошибки возникают десятки раз в секунду и из-за этого теряется точность позиционирования. Пока попробую с GetCursorPos и SetCursorPos разобраться, если получится нормально - напишу. У меня точная мышка, потому все эти косяки чувствуются сразу. А нет на FB примеров с DirectInput ? На си вот много вижу, а под FB что-то не гуглится.
0
|
locm
|
29.12.2012, 13:04
#8
|
0
|
Кормпилятор
|
||||||
29.12.2012, 13:36 [ТС] | 9 | |||||
locm, ответ очевиден, иначе не спрашивал бы.
А пока вот такая заготовка. Работает вроде, но всё равно точность паршивит. На рабочем столе мышь себя лучше ведёт. В принципе пока и так сойдёт, со временем может найдётся вариант получше.
1
|
126 / 53 / 1
Регистрация: 26.10.2012
Сообщений: 89
|
|
29.12.2012, 14:14 | 10 |
Сказать по чести, я примеров с DirectX , DirectInput , DirectDraw и пр. почти не встречал на FB. Сообщество FB больше смотрит в сторону OpenGl. А пример на СИ большой? Просто хотелось бы взглянуть, вдруг настанет время и самому понадобится...
1
|
Кормпилятор
|
|
29.12.2012, 14:21 [ТС] | 11 |
http://savardge.narod.ru/dx/article_dx10.html Думаю для человека, который знает и си и FB - это фигня, 10 минут переписать под FB. А я и FB то толком не знаю))) ласось же .
1
|
126 / 53 / 1
Регистрация: 26.10.2012
Сообщений: 89
|
|
29.12.2012, 15:11 | 12 |
Не с COM я заморачиваюсь редко, исключительно если понимаю смысл работы того, что переписываю. А с директами я ни разу не дружил .
1
|
Кормпилятор
|
|
30.12.2012, 01:53 [ТС] | 13 |
а исходник поясняет про режимы смешивания. Для 2D однозначно OpenGL. stabud, есть небольшой вопрос по клавиатуре, не буду создавать отдельную тему. Вопрос: на русских системах по умолчанию стоит русский язык и INKEY$ при вводе с клавиатуры выдаёт странные значения, т.е. он вообще ничего не выдаёт(при вводе любой русской буквы возвращается ASCII код 63). К тому же для переключения раскладки нужно нажать соотв. комбинацию и перетащить окно, если не перетаскивать - раскладка не переключается. Короче говоря как сделать, чтобы всегда при старте была английская раскладка, потому как если это будет, свой костыль я напишу для русских символов))). Это касается графического режима fbgfx(когда в окошке, без окна и перетаскивать то нечего).
0
|
30.12.2012, 08:09 | 14 | |||||
Что то типа этого при запуске
1
|
126 / 53 / 1
Регистрация: 26.10.2012
Сообщений: 89
|
||||||
30.12.2012, 11:27 | 15 | |||||
Эти API работают для своих созданных окон, но для окон , созданных с помощью Screen и ScreenRes почему-то не катит. Я уже задавал вопрос на оф. сайте про ввод русских символов в графическое окно. Прозвучал ответ: "ждите в будующих версиях". Так что пока для графики, надо какой-то костыль изобретать. Или создавать свое окно вместо Screen и Screenres. Пример ниже я адаптировал из цикла уроков от NEHE:
1
|
30.12.2012, 15:14 | 16 | |||||
Если точнее, то не для своего окна, а для своего потока. Или можно для конкретного потока, если его явно указать.
Я не спец в FB, но на Пурике это работает с любыми окнами и экранами. Выглядит так для активного окна:
1
|
126 / 53 / 1
Регистрация: 26.10.2012
Сообщений: 89
|
||||||
30.12.2012, 15:55 | 17 | |||||
Может не так высказался, суть была не в этом. Для своего потока не нужна эта лишняя калькуляция с вычислением хендла потока, достаточно в GetKeyboardLayout передать ноль. Получить то раскладку не проблема. Проблема как раз установить другую раскладку при использовании графического окна.
Какая разница? винапи оно и в африке виапи Вот код FB:
1
|
126 / 53 / 1
Регистрация: 26.10.2012
Сообщений: 89
|
||||||
30.12.2012, 17:48 | 19 | |||||
Quiet Snow! У меня у самого часто возникал такой вопрос, а после вашего обращения, желание найти решение лишь подогрелось. Я даже создал тему на оф. форуме FB, хотя решение нашел сам.
Вся моя беда, что я часто при просмотре винапишных функций пользуюсь справочником х.з. какого года и в нем для функции ActivateKeyboardLayout лишь один флаг KLF_REORDER. Все ленюсь заглядывать в MSDN. В реале у функции ActivateKeyboardLayout несколько возможных значений (флагов). Нужно попросту поставить флаг: KLF_SETFORPROCESS И замена раскладки будет для всего текущего процесса, вот пример:
1
|
30.12.2012, 19:32 | 20 |
0
|
30.12.2012, 19:32 | |
30.12.2012, 19:32 | |
Помогаю со студенческими работами здесь
20
FreeBASIC Приложение мгновенного обмена сообщениями, как получить список друзей Немного о FreeBasic FreeBASIC и сети Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
|
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента!
4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве).
Первое вводное занятие. . .
|
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
|
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений
Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
|
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта Gowin Eda и снимок. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
|
UserScript для подсветки кнопок языков программирования в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения:
/ / ==UserScript==
/ / @name CF_DefaultLangSelect
/ / . . .
|
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
|
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
|
Как создать нейросеть для генерации картинок на Python
InfoMaster 12.01.2025
Генерация изображений с помощью искусственных нейронных сетей стала одним из наиболее захватывающих направлений в области компьютерного зрения и машинного обучения. В этой статье мы рассмотрим. . .
|
Создание нейросети для генерации текста на Python
InfoMaster 12.01.2025
Нейросети, или искусственные нейронные сети, представляют собой модели машинного обучения, вдохновленные работой человеческого мозга. Они состоят из множества взаимосвязанных узлов, или "нейронов",. . .
|
Как создать нейросеть распознавания изображений на Python
InfoMaster 12.01.2025
Введение в распознавание изображений с помощью нейросетей
Распознавание изображений с помощью нейронных сетей стало одним из самых впечатляющих достижений в области искусственного интеллекта. Эта. . .
|
Основы искуственного интеллекта
InfoMaster 12.01.2025
Искусственный интеллект (ИИ) представляет собой одну из наиболее динамично развивающихся областей современной науки и технологий. В широком смысле под искусственным интеллектом понимается способность. . .
|