从手册:
后四个事件有一些与之相关的开销,所以你 需要使用stage.enableMouseOver(频率)启用它们。该 频率参数表示EaselJS每秒应该多少次 计算当前指针下的内容。数字越多越好 反应迅速,但计算成本也更高。
我需要在我拥挤的舞台上的某类对象上启用鼠标悬停功能。有没有办法只允许鼠标悬停检查某些对象而不是整个阶段?或者EaselJS仅使用“mouseover / mouseout和rollover / rollout”侦听器来检查对象?那么指针属性 - 只有在启用了enableMouseOver时才有效 - 是检查了所有对象还是只检查了默认值以外的指针属性?
EaselJS内部是否像k树一样进行空间分区以提高性能?
答案 0 :(得分:1)
您可以通过设置mouseEnabled=false
来阻止任何对象接收鼠标事件。
myBitmap.mouseEnabled = false;
如果您有大量项目(例如粒子),请确保它们位于容器中,并在容器上设置mouseEnabled
和mouseChildren=false
,并且舞台不会检查任何容器的孩子们。
myContainer.mouseEnabled = myContainer.mouseChildren = false;
如果您仍想知道何时单击容器的常规区域,则可以使用hitArea
替换默认鼠标行为,该var hitArea = new createjs.Shape();
hitArea.graphics.drawRect(0, 0, 500, 500);
myContainer.hitArea = hitArea;
代替其实际内容。
L=[1,2,3,4]
希望有所帮助!
答案 1 :(得分:0)
为了提高性能,如果任何对象是静态的,我使用缓存
我使用了mouseEnabled = false;
我没有在画布里面渲染任何文字或图像 角度或普通的javascript来渲染dom元素