2016-08-16 64 views
0

我有一個a-image實體。如何檢測或選擇A幀中的活動攝像頭?

當我設置look-at="[camera]"時,它不指向活動相機。

當我設置look-at="#camera"(這是活動相機的ID),它工作得很好。

有誰知道爲什麼它可能不適用於[camera]?我有多個攝像頭,但一次只能有一個攝像頭。

回答

0

[camera]querySelector所以當你做[camera](這意味着任何具有相機屬性的元素,每個相機都有),你不能控制選擇哪個相機。

如果您在攝像頭之間切換並想抓取活動攝像頭,則需要在活動攝像頭上設置類或屬性。

你可以聽camera-set-active事件:

document.querySelector('a-scene').addEventListener('camera-set-active', function (evt) { 
    // 1. Remove active class from all cameras. 
    // ... 

    // 2. Add active class to camera. 
    evt.detail.cameraEl.classList.add('active-camera'); 
}); 

對於look-at,你可以做look-at=".active-camera"。不幸的是,由於組件當前不會檢測到類的更改,因此您需要刷新它。最快的方法是分離(removeAttribute)並重新連接組件(setAttribute)。