2017-01-09 11 views
3

カスタムJSONファイルをAフレームコンポーネントにデータとしてロードする最も良い方法は何ですか?たとえば、JSONファイルには点の座標が含まれている場合があります。ファイルをアセットとしてロードし、コンポーネント内の解析されたjsonオブジェクトを使用したいとします。JSONデータをAフレームコンポーネントに読み込む方法は?

{"coordinates": [{"x": 0, "y": 1, "z": 2}, // ...]} 

答えて

2

もう一つの方法は、コンポーネントを使用

AFRAME.registerComponent('foo', { 
    schema: { 
    jsonData: { 
     parse: JSON.parse, 
     stringify: JSON.stringify 
    } 
    } 
}); 

JSON.parseを行うparse関数を作成し、コンポーネントからJSONを解析するために

スキーマを持たないようにコンポーネントを設定してオブジェクトを取得するだけです。そこはまだ「ワイルドカード」のスキーマを持っている何のAPIはありませんが、一つの方法は、styleParserとインラインCSS-のような文字列解析し、プロパティタイプ持っていることです。

AFRAME.registerComponent('foo', { 
    schema: { 
    parse: AFRAME.utils.styleParser.parse 
    } 
}); 

上記の構成要素は、単一のプロパティですスキーマ、我々はthis.dataの値になります渡すので、どんなオブジェクト:

el.setAttribute('foo', {bar: 'baz', qux: 'qaz', whateverWeWant: true}); 

または:

<a-entity foo="bar: baz; qux: qaz: whateverWeWant: true"></a-entity> 
関連する問題