【发布时间】:2021-09-08 08:54:07
【问题描述】:
我想要一些组件来响应用户在场景中的位置和方向。我对交互式 a-frame 场景几乎没有经验,也没有自己编写过组件。
一般来说,我希望组件能够为其他组件调用提供回调,或者如果这不可能,那么某种组件间数据切换。 “接收”组件会改变其内容(子)、外观和/或行为。
如果我们举一个非常简单的例子,假设我希望场景在用户位于 x>0 时包含一个框,或者在用户位于 x
分解一下,我很乐意了解如何...:
- 读取用户位置并使其可供其他人使用。我找到了how to read the position;我想我可以只取
<a-scene>元素并设置一些属性,例如user-position="1 2 3"。 - 在某处编写一些代码,当该位置发生变化时运行一个函数(我想我会去抖动它)并对场景进行更改。我认为如果我编写自己的组件来包含整个场景,我需要...:
- 将用户位置设置为该元素的属性;
- 定义一个
update方法; - 在
update方法中,比较当前与以前的用户位置。
...但我想知道这是否有点矫枉过正,我可以以某种方式进入一个场景,或者完全是其他的东西。
如果我采用上面提到的方法,我想缺少的部分是如何“声明”要渲染的内容?例如,使用 ReactJS 我只需要return x > 0 ? <a-box/> : <a-sphere/>;。是否有等价物,或者我需要进入 DOM 并手动添加/删除<a-box> child 等?
谢谢!
编辑:我的盒子/球体工作正常 (glitch),但感觉很奇怪,很想改进它。
【问题讨论】:
标签: aframe