哪个HTML5画布游戏库有悬停支持?

时间:2013-05-07 15:12:15

标签: html5-canvas libraries

我将使用HTML5画布构建一个简单的游戏。我决定使用一些库,而不是手动完成所有操作。我看到有很多(超过100个)库,并检查了其中的5-6个库,但似乎没有人支持像浏览器中那样的简单“悬停”效果。

基本上,我想要一堆图像或文本“精灵”,当鼠标悬停在它们上面时,它们应该改变,以向用户表明他可以用它做某事。这些元素也应该是可点击的。

请不要建议我使用DOM。我想使用Canvas,因为我有一些复杂的图形/动画。

我检查的最后一件事是Cocos2d,它的MenuItem似乎有一些潜力:易于实现点击处理程序,两个图像 - 一个用于按下,另一个用于按下(正常)状态。但我不知道如何创建悬停效果。

我更喜欢jQuery方法:

SpriteElement.hover(function() { do stuff });

2 个答案:

答案 0 :(得分:3)

我安装,测试和阅读了文档。这是我发现的:

<强> KineticJS

element.on(“mouseover”,function(){});

Easel.js

element.addEventListener(“mouseover”,function(){});

另外,Easel.js有一个很好的ButtonHelper类,可以自动使用3个不同的图像进行正常,悬停,按下状态。

<强> Crafty.js

element.bind('MouseOver',...

<强> MelonJS

没有自动支持。 Manually可以使用以下方式完成:

input.registerMouseEvent( '鼠标移动')

然后迭代子元素并通过this.collisionBox.containsPoint(me.input.mouse.pos)进行检查

<强>昆图斯

显然,no support

<强> Lime.js

无法在docs或google搜索中找到任何内容。

<强> CanvasEngine

element.on(“mouseover”,function(e){});

虽然在Firefox 20.0上似乎有问题但只有在鼠标停止移动时才会触发事件。

Cocos2D-html5

没有自动支持,只能手动迭代子项。代码似乎在不断变化,因为Cocos专注于没有“悬停”概念的触控设备。

答案 1 :(得分:1)

您正在寻找的可能是鼠标悬停

KineticJS支持它:

https://stackoverflow.com/a/9270417/315168