如何在EaselJS中处理鼠标悬停事件?

3

我正在使用EaselJS,希望在鼠标悬停在图片上时略微放大图片。看起来,mouseover和mouseout事件是实现这一目的的好方法。

http://www.createjs.com/Docs/EaselJS/classes/Container.html#event_mouseover

然而,文档中没有任何示例,或者至少我找不到。我尝试了谷歌搜索,但没有成功。
我尝试了类似这样的内容:
stage.enableMouseOver();
var btn  = new createjs.Bitmap("mybtn.png");
btn.mouseover = function() {
    btn.x++;
};

并发现这个有效:

btn.onMouseOver = function() {
    btn.x++;
};

但文档说这个变量已经被弃用,应该使用事件。什么是正确的方式?


1
请查看 EaselJS GitHub 存储库中的示例和教程 - 数量众多!https://github.com/CreateJS/EaselJS/ - Lanny
谢谢Lanny,这些非常有帮助。 - Milan Babuškov
1个回答

7

您应该按照以下示例使用addEventListener(每次将鼠标移到圆形上时,透明度/透明度都会改变):

http://jsfiddle.net/wiredprairie/U3PYD/

circle.addEventListener("mouseover", function() {
   circle.alpha *= .80;
   stage.update();
});

它假定您已经根据文档的说明调用了enableMouseOver函数:
stage.enableMouseOver(20);  

2
很遗憾,这会对性能造成显著影响。仅启用鼠标悬停事件(而不实际添加任何处理程序)就会在我的应用程序中产生巨大的性能影响。 - numbers1311407
是的 - 当您移动鼠标时,它需要计算命中测试区域,因此这将对性能产生影响。 - WiredPrairie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接