Отказ от ответственности, а не разработчик игры.

ою игру на HTML5 и пытаюсь навести курсор мыши на определенный элемент управления для определенного события, чтобы перемещение в определенном направлении всегда приводило к одному и тому же результату. Это возможно?

 Jeremy Thompson16 авг. 2011 г., 03:54
В HTML5 есть несколько новых событий мыши, но нет ничего, что могло бы двигать мышь. Вы всегда можете window.moveBy (x, y); переместить окно под мышкой ... это было бы довольно забавной игрой :) Единственный способ, с помощью которого я вижу это, - через ActiveX - ewwww, yuk!
 thirtydot20 янв. 2011 г., 21:59
Если я правильно понимаю, вы хотите переместить курсор мыши с помощью JS - это невозможно. Вам нужно будет найти другой путь.
 Stardust21 дек. 2015 г., 20:25
Нет - JavaScript не позволит вам сделать это, но я предполагаю, что может быть обходной путь, который включает перемещение страницы в определенное место, которое также "переместит" курсор, используя окно scrollTo () - см. W3Schools вw3schools.com/jsref/met_win_scrollto.asp.
 Cœur18 дек. 2018 г., 16:02
Удачи с перемещением мыши на смартфонах.

Ответы на вопрос(9)

а затем переместить веб-страницу (с относительным положением тела), чтобы они наводили курсор на то, что вы хотите, чтобы они нажимали.

Например, вы можете вставить этот код на текущую страницу в консоли браузера (и впоследствии обновить)

var upvote_position = $('#answer-12878316').position();
$('body').mousemove(function (event) {
    $(this).css({
        position: 'relative',
        left: (event.pageX - upvote_position.left - 22) + 'px',
        top: (event.pageY - upvote_position.top - 35) + 'px'
    });        
});
 momomo02 окт. 2016 г., 23:41
Как вы на самом деле нажимаете на нужный элемент, когда пользователь нажимает?
 ForceMagic14 окт. 2012 г., 02:40
Ваш пост был бы более ценным, если бы вы могли опубликовать пример кода, который это делает. Также я предлагаю вам посмотреть FAQ:stackoverflow.com/faq
 gcdev10 мая 2017 г., 19:13
Это было совершенно звездно! Способ мыслить нестандартно! Я сомневаюсь, что это действительно обеспечивает то, что хотел спрашивающий, но как бы круто это ни было, кого это волнует?
 Waqas Tahir24 июл. 2015 г., 11:18
Но это не хорошо, чтобы быть использованным в живой веб-странице
 cascading-style23 дек. 2016 г., 17:37
@momomo Вы можете использоватьdocument.getElementByID('thingtoclick').click();

ложения указателя мыши, а затем вычисления и компенсации действий мыши спрайтов / сцен на основе этой компенсации?

Например, вам нужно, чтобы указатель мыши находился внизу по центру, но он расположен слева вверху; скрыть курсор, использовать смещенное изображение курсора. Сдвиньте движение курсора и отобразите ввод мыши, чтобы он соответствовал щелчкам спрайта (или «управления») перемещенного курсора. Когда / если границы достигнут, пересчитайте. Если / когда курсор действительно достигает точки, которую вы хотите, удалите компенсацию.

Отказ от ответственности, а не разработчик игры.

Запустите небольшой веб-сервер на клиентском компьютере. Может быть небольшая вещь 100 КБ. Скрипт Python / Perl и т. Д.Включите небольшой, предварительно скомпилированный Cисполняемый файл, который может перемещать мышь.

AJAX, как угодно - с координатами, на которые вы хотите переместить мышь, например:

http://localhost:9876/cgi/mousemover?x=200&y=450

PS: Для любой проблемы существуют сотни оправданий того, почему и как - это нельзя и нельзя - делать… Но в этой бесконечной вселенной на самом деле это просто вопрос решимости - относительно того, ВЫ сделает это

 ATHER29 апр. 2018 г., 05:47
+1 за PS. Можем ли мы выполнять CGI-вызовы с использованием узла dev-server или чего-либо подобногоnpmjs.com/package/http-server ??
 barlop24 мая 2017 г., 03:36
веб-сервер? возможно, вы имеете в виду программу с интерфейсом http .. нет необходимости в Интернете. Язык программирования Go может иметь преимущество перед C в том, что он может облегчить добавление части http или, в качестве альтернативы, интерпретатор nodejs будет запускать код, который также может довольно легко включать интерфейс http, так как интерпретатор nodejs создан для упрощения писать серверные приложения.
 dGRAMOP11 февр. 2017 г., 21:29
Я думаю, что мы все были на борту, пока "c исполняемый файл" ... xD
 Alex Gray24 мая 2017 г., 06:24
C = 0 зависимостей. Веб это http. Никакой милой домашней страницы, здесь .. Только транспорт.
 Cryptopat20 февр. 2018 г., 04:13
Выглядит достаточно безопасно для меня, проголосовал!

что вы можете выполнить перемещение курсора мыши в заданную область экрана, если вы не используете реальный (системный) курсор мыши.

Например, вы можете создать изображение, которое будет действовать вместо вашего курсора, обработать событие, которое при обнаружении ввода мыши в вашу сцену установит стиль для системного курсора на 'none' (sceneElement.style.cursor = 'none'), то вызовет скрытый элемент изображения, выступающий в качестве курсора, в любом месте сцены, на основе предопределенного перевода оси / ограничительной рамки.

Таким образом, независимо от того, как вы переместили реальный курсор, ваш метод перевода будет держать курсор изображения там, где он вам нужен.

редактировать:пример в jsFiddle, использующий представление изображения и принудительное движение мыши

 dionyziz02 февр. 2011 г., 21:45
Это по-прежнему вызывает проблему невозможности «двигать» мышью влево. Как только мышь покидает веб-страницу, вы не можете ее контролировать.
 Xaxis20 янв. 2011 г., 22:24
ТАКЖЕ, вы можете установить стиль курсора на прозрачное изображение размером 1x1 пиксель ... другое простое решение.
 Dennkster23 янв. 2011 г., 08:51
Это самый продуманный ответ. И на самом деле предоставляет реальное решение, в то время как некоторые другие ответы действительно добавляют какую-либо ценность :) Но как webgl принесет интересные игры, такие как FPS и т. Д., Когда мы не можем получить блокировку мыши, это звучит довольно ограниченно ...
 Jaak Kütt05 дек. 2013 г., 14:35
поиграл с этой идеей и сделал пример в JSFiddlejsfiddle.net/jaakkytt/9uczV
 Xaxis20 янв. 2011 г., 22:19
Да, ты можешь. Вы просто устанавливаете стиль курсора для данного элемента в 'none'. Попробуйте.
Решение Вопроса

vascript. Я также работаю над игрой WebGL со своей командой, и нам нужна эта функция. Я открыл вопрос об bugzilla в Firefox, чтобы мы могли начать говорить о возможности использования API для блокировки мыши. Это будет полезно для всех разработчиков игр HTML5 / WebGL.

Если хотите, приходите и оставляйте комментарий со своим отзывом, и поднимите вопрос:

https://bugzilla.mozilla.org/show_bug.cgi?id=630979

Спасибо!

 dionyziz02 нояб. 2015 г., 22:25
@ Некоторое согласие будет запрошено, прежде чем такая блокировка станет возможной приложением (аналогично тому, как теперь запрашивается полноэкранное согласие в популярных веб-браузерах). Кроме того, пользователь всегда может отозвать согласие, нажав клавишу ESC.
 Someone30 мая 2015 г., 00:47
Если это произойдет, я перестану пользоваться браузером. :-P Серьезно, веб-сайтам просто не требуется согласие, которое вы даете при установке приложения. Это было бы отличной возможностью, если бы мы все были хорошими парнями, которые просто использовали этот уровень контроля для улучшения взаимодействия с пользователем. К сожалению, Интернет занимает центральное место, поэтому есть много действительно интересных функций, которые, мы надеемся, никогда не увидим в браузере. При этом: полноэкранный API будет работать для «блокировки» остальной части ОС.
 Tian van Heerden14 мар. 2017 г., 12:39
@ericsoco К сожалению, эта ссылка не работает. Это может помочь:https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API
 Chris Anderson30 янв. 2015 г., 03:10
Обновить:bugzilla.mozilla.org/show_bug.cgi?id=633602 и спецификация w3 для блокировки указателя:dvcs.w3.org/hg/pointerlock/raw-file/default/index.html
 ericsoco23 июн. 2016 г., 01:30
Это произошло. И это довольно круто (если все еще с префиксом поставщика):mdn.github.io/pointer-lock-demo

я знаю, что это старая тема, но я сначала скажу, что это невозможно. Ближайшая вещь в настоящее время - это блокировка мыши в одной позиции и отслеживание изменений ее x и y. Эта концепция была принята - похоже, - Chrome и Firefox. Это управляется тем, что называетсяБлокировка мышии ударить побег сломает его. От моегократкое В чтении, я думаю, что идея заключается в том, что он блокирует мышь в одном месте и сообщает о событиях движения, похожих на события щелчка и перетаскивания.

Вот документация к выпуску:
Fire Fox:https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API
Хром:http://www.chromium.org/developers/design-documents/mouse-lock

И вот довольно аккуратная демонстрация:http://media.tojicode.com/q3bsp/

используя JavaScript, и, следовательно, по очевидным причинам безопасности. Лучший способ добиться этого эффекта - поместить элемент управления под указатель мыши.

 Anthony03 нояб. 2017 г., 00:10
но тогда как это возможно в API перетаскивания?
 dionyziz27 февр. 2013 г., 07:50
Последствия для безопасности далеко не очевидны. Фактически, недавние добавления в стандарты вводят эту возможность без каких-либо серьезных проблем безопасности.

что вы должны вызывать requestPointerLock в событии click.

Маленький пример:

var canvas = document.getElementById('mycanvas');
canvas.requestPointerLock = canvas.requestPointerLock || canvas.mozRequestPointerLock || canvas.webkitRequestPointerLock;
canvas.requestPointerLock();

Документация и пример полного кода:

https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API

Просто подумайте о последствиях на секунду, если сможете;)

Пользователь думает: «эй, я бы хотел нажать на эту ссылку»Javascript перемещает курсор мыши на другую ссылкуПользователь щелкает неправильную ссылку и непреднамеренно загружает вредоносную программу, которая форматирует его c-диск и ест его конфету
 Blender20 янв. 2011 г., 22:08
Хех, я бы не хотел сражаться за контроль над курсором мыши: НАЗАД РЕКЛАМА, НАЗАД, СКАЖУ!
 Martin Jespersen12 апр. 2012 г., 20:50
@dionyziz: Существует довольно большая разница между принудительной загрузкой в ​​песочницу и затем загрузкой пространства пользователя, начатой ​​взаимодействием с пользователем. Последствия для безопасности на самом деле очень велики.
 Martin Jespersen20 янв. 2011 г., 22:01
Если подумать, это было бы здорово: P
 Blender20 янв. 2011 г., 22:00
НАСТОЯЩИЙ кликджек.
 dionyziz02 февр. 2011 г., 21:44
Веб-страница может вызвать загрузку, не требуя, чтобы кто-либо нажимал на ссылку, поэтому то, что вы утверждаете, на самом деле не является проблемой безопасности. Однако невозможно выйти за пределы окна веб-страницы.

Ваш ответ на вопрос