繼我在上一個問題中ngokevin提出的方法有幫助的改變之後,我現在試圖在兩個實體(每個單獨的相機的一個孩子)之間交換遊標組件。但是,我看到兩種行爲沒想到:如何通過實體的setAttribute正確添加和刪除遊標組件?
- 當我打電話entityEl.removeAttribute(「光標」),它刪除光標組件,但保留默認添加raycaster部件後面。 (演示:http://codepen.io/anon/pen/oZgJOg)
- 當我調用entityEl.setAttribute('遊標')時,我沒有注意到在檢查器中的實體的任何增加。 (演示:http://codepen.io/anon/pen/vxEvbG)
我在哪裏可以驗證只是第一種情況後調用.removeAttribute(「raycaster」)可以解決這個問題,我不太肯定什麼阻止工作將光標。以下是第二個演示的組件:
AFRAME.registerComponent('add-cursor-on-click', {
init: function() {
this.el.setAttribute('cursor');
this.el.addEventListener('click', function() { console.log("Received click ev."); });
}
});
<a-entity id="onlyTheCursorAfterClick" add-cursor-on-click></a-entity>
與往常一樣,任何見解都將不勝感激。