如何有效地监听多个事件以及如何构建应用程序?

时间:2014-01-25 01:47:07

标签: javascript angularjs backbone.js three.js webgl

我目前正在计划一个非常复杂的Web应用程序(WebGL - Three.JS),我现在正在尝试一些测试。我偶然发现的问题是为我提出了很多问题,我不知道这样做的正确方法,如果有人能指出我正确的方向,我真的很感激。

所以这就是事情: 我的应用程序需要很多事件监听器,它需要尽可能模块化。这样我就可以在不破坏所有东西的情

对于事件监听器,我的意思是,我需要检查如果用户单击元素,如果选择了元素,如果是,则更改工具视图,...非常复杂。我还将开发一些工具(Cloning, mirroring,..),我可以清楚地看到,使用函数我将无法有效地执行它,我的代码将变得非常有用。或者例如;如果用户选择“cube draw”控件,我需要锁定一些控件,然后监听点击事件,但问题是,ižI如何构建这么多不同的点击事件?

其实我画了一个简单的草图我需要的东西: enter image description here

另外,所以你不会觉得我很懒,我写了一个简单的例子,说明我需要的纯Javascript函数,..它已经有错误,sphagheti,我不认为这是正确的方法。它必须是另一种方式吗?

我的尝试: JsFiddle

我正在寻找像http://shapesmith.net/这样的东西,但它是用Backbone和许多不同的文件编写的,我无法弄清楚它是如何制作的。

1 个答案:

答案 0 :(得分:0)

将你的圆顶元素添加到轨迹球控制..所以在渲染器部分上进行的点击事件将通过轨迹球控制来识别......

controls = new THREE.TrackballControls( camera, renderer.domElement );