PointerLock с дротиком
Есть ли способ заблокировать курсор с помощью dart, который работает на Firefox и Chrome? Я старался:
void lock(event)
{
var canvas = document.querySelector('canvas');
canvas.requestPointerLock();
}
в слушателе событий mousedown
document.addEventListener('mousedown', lock, false);
Я тоже пробовал
renderer.canvas.requestPointerLock();
где renderer - это WebGLRenderer из пакета three.dart. Проблема в том, что это работает только в Chromium. Я посмотрел следующее кросс-браузерное решение для js, но в дротике это не работает.
canvas.requestPointerLock = canvas.requestPointerLock ||
canvas.mozRequestPointerLock ||
canvas.webkitRequestPointerLock;
Есть ли способ сделать указатель блокировки в дартс, или мне нужно найти способ выполнить вышеупомянутый JavaScript из дартс?
1 ответ
Существует открытый вопрос для этого https://dartbug.com/4463
Я думаю, что проблема в вашем коде кода с помощью префиксов заключается в том, что canvas.requestPointerLock
, canvas.mozRequestPointerLock
, canvas.webkitRequestPointerLock
не возвращайся false
если они не существуют (или true
если это так). Вы должны получить текущий браузер другими способами, а затем вызвать префиксный метод.