我正在編寫一個HTML5遊戲,並且我希望用戶能夠通過左右移動鼠標來控制他們角色的方向。JS - 需要原始鼠標輸入(或接近它)
我可以通過onmousemove和pageX和pageY獲得鼠標移動,但是一旦鼠標碰到屏幕邊緣......對您來說太糟糕了。 是否有任何跨瀏覽器的方式(可能獲得實際的鼠標移動,而不是光標位置)?
如果沒有,我可以設置鼠標光標在元素的中間,如果它到達邊緣,並且只允許它們將它們的鼠標垂直移出元素?
我正在編寫一個HTML5遊戲,並且我希望用戶能夠通過左右移動鼠標來控制他們角色的方向。JS - 需要原始鼠標輸入(或接近它)
我可以通過onmousemove和pageX和pageY獲得鼠標移動,但是一旦鼠標碰到屏幕邊緣......對您來說太糟糕了。 是否有任何跨瀏覽器的方式(可能獲得實際的鼠標移動,而不是光標位置)?
如果沒有,我可以設置鼠標光標在元素的中間,如果它到達邊緣,並且只允許它們將它們的鼠標垂直移出元素?
這是不可能的,除非您的頁面包含在您的目標平臺的原生應用程序中,或者您要求現在的瀏覽器支持的遊戲的全屏頁面。
https://developer.mozilla.org/en/DOM/Using_full-screen_mode
http://hacks.mozilla.org/2012/01/using-the-fullscreen-api-in-web-browsers/
這裏的東西要記住:
*這是可能與閃光燈,雖然,不知道。
現在是2018年 - 而且這個答案已經過時,因此現在是錯誤的。 – p555t 2018-01-30 17:38:40
不,沒有辦法做到這一點,我知道,但可能有辦法得到相同的效果。
當光標開始向左(或向右)移動時,記錄它。當光標碰到屏幕邊緣時,它可能會開始向上或向下移動(因爲沒有人足夠穩定地跟隨1個像素的直線)。您將此上下運動解釋爲同一方向上的運動(在此情況下保留),直到檢測到向右方向運動。
如果光標在開始處向右移動,則上下錄製爲向右移動,直到檢測到向左方向。
「你把這個解釋爲運動在同一個方向」聰明,但你沒有關於移動速度的信息 - 它可能是每秒一英寸,或者十個...... :( – Suma 2017-01-31 13:41:11
使用指針鎖定API。
http://www.html5rocks.com/en/tutorials/pointerlock/intro/
https://developer.mozilla.org/en-US/docs/WebAPI/Pointer_Lock
這是 「實驗」。
瀏覽器將詢問用戶鎖定光標的權限。
'有沒有任何跨瀏覽器的方式'這個'不。 '我可以設置鼠標光標在元素的中間,如果它到達邊緣'你可以想象哪些橫幅和'壞'網站可以處理所有請求? :)) – Cheery 2012-02-10 22:21:51