2

Firefox と Chrome で動作するダーツでカーソルをロックする方法はありますか? 私は試した:

void lock(event)
{    
    var canvas = document.querySelector('canvas');
    canvas.requestPointerLock();
}

マウスダウンイベントリスナーで

 document.addEventListener('mousedown', lock, false);

私も試しました

renderer.canvas.requestPointerLock(); 

renderer は three.dart パッケージの WebGLRenderer です。問題は、これが Chromium でのみ機能することです。次のjsのクロスブラウザソリューションを調べましたが、これはdartでは機能しません。

canvas.requestPointerLock = canvas.requestPointerLock ||
                 canvas.mozRequestPointerLock ||
                 canvas.webkitRequestPointerLock;

ダーツでポインターロックを行う方法はありますか、またはダーツから上記の JavaScript を実行する方法を見つける必要がありますか?

4

1 に答える 1

1

これには未解決の問題があります https://dartbug.com/4463

接頭辞を使用したコードコードの問題は、存在しない場合(または存在する場合)、、、が返されないことcanvas.requestPointerLockcanvas.mozRequestPointerLockと思います。他の方法で現在のブラウザーを取得してから、プレフィックス付きのメソッドを呼び出す必要があります。canvas.webkitRequestPointerLockfalsetrue

于 2014-09-26T10:31:12.210 に答える