W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
該類的實(shí)現(xiàn)是基于Pointer Lock API的。 對(duì)于第一人稱3D游戲來(lái)說(shuō), PointerLockControls 是一個(gè)非常完美的選擇。
const controls = new PointerLockControls( camera, document.body );
// add event listener to show/hide a UI (e.g. the game's menu)
controls.addEventListener( 'lock', function () {
menu.style.display = 'none';
} );
controls.addEventListener( 'unlock', function () {
menu.style.display = 'block';
} );
camera: 渲染場(chǎng)景的攝像機(jī)。
domElement: 用于事件監(jiān)聽(tīng)的HTML元素。
創(chuàng)建一個(gè)新的 PointerLockControls 實(shí)例。
當(dāng)用戶移動(dòng)鼠標(biāo)時(shí)觸發(fā)。
當(dāng)指針狀態(tài)為 “l(fā)ocked” (即鼠標(biāo)被捕獲)時(shí)觸發(fā)。
當(dāng)指針狀態(tài)為 “unlocked” (即鼠標(biāo)不再被捕獲)時(shí)觸發(fā)。
該 HTMLDOMElement 用于監(jiān)聽(tīng)鼠標(biāo)/觸摸事件,該屬性必須在構(gòu)造函數(shù)中傳入。在此處改變它將不會(huì)設(shè)置新的事件監(jiān)聽(tīng)。
控制器是否被鎖定。
相機(jī)間距,上限。范圍是 0 到 Math.PI 弧度。默認(rèn)為 Math.PI。
相機(jī)間距,下限。范圍是 0 到 Math.PI 弧度。默認(rèn)為 0。
共有方法請(qǐng)參見(jiàn)其基類EventDispatcher。
添加控制器的事件監(jiān)聽(tīng)。
移除控制器的事件監(jiān)聽(tīng)。
target: 目標(biāo)向量。
返回?cái)z像機(jī)的觀看方向。
激活指針鎖定。
distance: 距離(區(qū)分正負(fù))。
平行于xz平面,向前移動(dòng)攝像機(jī)。假定camera.up是y朝上。
distance: 距離(區(qū)分正負(fù))。
平行于xz平面,向側(cè)面移動(dòng)攝像機(jī)。
退出指針鎖定。
examples/jsm/controls/PointerLockControls.js
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: