2016-05-27 1 views
0

私はAフレームを初めて使用しています。私の質問は、カーソルがモデルを打ったとき、それは捕捉されない例外TypeErrorを示すことである:プロパティを読み取ることができませんundefined.Hereの「放出」私のコードです:カーソルがモデルに当たったとき、Uncaught TypeErrorが表示されます:未定義の 'emit'プロパティを読み取ることができません

<a-scene> 
    <a-assets> 
    <img id="room" src="./pics/room.jpg"> 
    <a-asset-item id="crate-obj" src="/models/chair/Chair.obj"></a-asset-item> 
    <a-asset-item id="crate-mtl" src="/models/chair/Chair.mtl"></a-asset-item> 
    </a-assets> 

    <a-entity position="0 1.8 4"> 
    <a-camera id="camera"> 
     <a-cursor id="cursor" color="#4CC3D9"></a-cursor> 
    </a-camera> 
    </a-entity> 
    <a-obj-model src="#crate-obj" mtl="#crate-mtl"></a-obj-model> 
    <a-sky src="#room"></a-sky> 
</a-scene> 

答えて

0

あなたは、このリンクを参照することができます。 aframe issue。著者は、透過的なバウンディングボックスを作成し、それに対するクリックイベントをリスンするための回避策があると述べました。

+0

あなたはOPからのマークアップを使用して、その回避策を追加した場合、この答えは偉大だったでしょう。 – rene

0

この問題は、Aフレームエンティティをモデルの各子にバインドすることでhttps://github.com/aframevr/aframe/pull/1497に修正されています。

Aフレーム0.3.0を待つか、最新のAフレームマスターを使用できます。現在、cursorはどのオブジェクトが交差しているかを確認するのにraycasterを使用しています。 OBJ/COLLADAモデルでは、オブジェクトのツリーが作成されます。しかし、A-Frameはトップレベルのオブジェクトをエンティティとして扱っていました。したがって、レイキャスターがオブジェクトを返したとき、イベントを発行する関連エンティティはありませんでした。

今それだけで動作するはずです:

<a-camera><a-cursor></a-cursor></a-camera> 
<a-obj-model></a-obj-model> 
+0

これはすばらしいことですが、これを迷惑メールとして表示するのを防ぐために、コード例で少し詳しく説明できますか(現在何が起きていますか)。 – rene

関連する問題