2013-05-08 75 views
3

我正在使用EaselJS,我想在鼠標懸停在它們上方時更改(稍微放大)圖像。看來,mouseover和mouseout事件將是一個很好的方式來做到這一點。如何在EaselJS中處理mouseover事件?

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回購itory - 有很多! https://github.com/CreateJS/EaselJS/ – Lanny 2013-05-13 00:20:19

+0

謝謝Lanny,那些幫助很大。 – 2013-05-13 01:16:09

回答

7

你應該使用addEventListener如本例所示(每次你將鼠標移到循環一次,字母/透明度的變化):

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

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

它假定你叫enableMouseOver作爲documented以及:

stage.enableMouseOver(20); 
+0

這對性能的影響太糟糕了。只需啓用mouseover事件(實際上不添加任何處理程序)就會在我的應用程序中造成巨大的性能影響。 – numbers1311407 2013-06-24 20:24:12

+0

是的 - 當你移動你的鼠標時,它需要計算命中測試區域,所以它會成爲一個性能問題。 – WiredPrairie 2013-06-24 21:54:20