我正在尝试重新制作superhands
/ physics
a-frame demo here的剥离版本
所有抓取/拖动/物理效果都很好,但我无法通过droppable
框与draggable
碰撞时触发事件。
Here is a fiddle我的代码(所有脚本都很长)但如果您希望我在这里复制代码,请告诉我。
我确定我在这里错过了一些简单的东西,但是我看不到它,我觉得我拥有原始示例所拥有的一切但是我无法触发该事件,甚至没有记录到控制台。
这是我第一次投身于物理学和控制器,所以如果我犯了一些菜鸟错误,我会道歉。我应该提一下,我最初在桌面上使用鼠标进行测试,希望在这里使用基础知识可以扩展到耳机。
建议非常受欢迎。
答案 0 :(得分:1)
在您当前的配置中,您只有可抓取的盒子,但没有可放置的目标,可用于碰撞检测:
def encrypt_file(filename):
with open(filename, 'r') as open_file:
file_content = open_file.read()
将其更改为包含场景中所有交互式对象的选择器:
progressive-controls="objects: .tape"
在内部, progressive-controls="objects: .tape, #tape_player"
使用A-Frame progressive-controls
设置碰撞检测,用于桌面和版本。移动模式,或A-Frame Extras raycaster
,用于roomcale模式,(如果您自定义配置,则为您选择的其他组件)。它将您在sphere-collider
属性中定义的选择器传递给那些组件,以控制将观察哪些实体的碰撞/交叉,并且只有那些实体将通过objects
进行交互。
优良作法是选择仅针对您想要成为交互式实体的区分选择器,因为碰撞检测具有显着的性能成本,因此您不希望浪费时间检查不必要的碰撞。