1

HTML5 キャンバスを使用して簡単なゲームを作成します。すべてを手動で行う代わりに、いくつかのライブラリを使用することにしました。そこには多くの (100 以上の) ライブラリがあり、そのうちの 5 ~ 6 個をチェックアウトしましたが、ブラウザにあるような単純な「ホバー」効果をサポートしているようには見えません。

基本的に、マウスがそれらの上に置かれたときに変化して、ユーザーが何かできることをユーザーに示す必要がある、一連の画像またはテキスト「スプライト」が必要です。また、これらの要素はクリック可能にする必要があります。

DOM の使用を提案しないでください。複雑なグラフィック/アニメーションがあるため、Canvas を使用したいと考えています。

最後に確認したのは Cocos2d で、MenuItem にはいくつかの可能性があるように見えました。クリック ハンドラーの実装が簡単で、2 つの画像 - 1 つは押された状態、もう 1 つは押された (通常の) 状態です。しかし、ホバー効果を作成する方法がわかりません。

私はjQueryアプローチのようなものを好むでしょう:

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

2 に答える 2

3

ドキュメントをインストールしてテストし、読みました。これが私が見つけたものです:

KineticJS

element.on("マウスオーバー", function () { });

Easel.js

element.addEventListener("mouseover", function() { } );

さらに、Easel.js には、通常、ホバー、押された状態の 3 つの異なる画像を使用して自動化する優れたButtonHelperクラスがあります。

Crafty.js

element.bind('MouseOver', ...

MelonJS

自動サポートなし。手動では、次を使用して実行できます。

input.registerMouseEvent('mousemove')

次に、子要素を繰り返し、 this.collisionBox.containsPoint(me.input.mouse.pos) を介してチェックします

クイントゥス

どうやらサポートなし

Lime.js

ドキュメントやグーグルで何も見つかりませんでした。

CanvasEngine

element.on("マウスオーバー", function(e) { } );

バグがあるようですが、Firefox 20.0 では、マウスの動きが止まったときにのみイベントが発生します。

Cocos2D-html5

自動サポートはなく、手動で子を繰り返すだけです。Cocos は「ホバー」の概念がないタッチ デバイスに重点を置いているため、コードは流動的です。

于 2013-05-09T15:15:51.617 に答える
1

あなたが探しているのは、おそらくmouse overと呼ばれるものです。

KineticJS はそれをサポートしています。

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

于 2013-05-09T10:06:32.713 に答える