2011-09-10 7 views
0

私は現在、サイズが800x800のプライマリキャンバスがあるインターフェイスで作業しています。上に私はたくさんのアイコンを生成しました。ユーザーが一番上のアイコンをマウスでクリックすると、マウスのx座標とy座標が一致して、現在アイコンの上にマウスが移動しているかどうかが判断されます。彼がいるなら、マウスの隣にラベルがアイコンの名前で表示されるホバー効果が必要です。彼が動くにつれて、ラベルはマウスに追従します。彼がアイコンを離れたり、別のアイコンに移動したりすると、最後のものが消去され、ラベルが表示されない(ユーザーがすべてのアイコンを消した場合)か、最後の場所のマウスの隣に別のラベルが表示されます彼が別のアイコンの上を移動する場合、ラベルの幅はテキストの幅に応じて可変長です)。キャンバス内のキャンバスをメインキャンバスから簡単にクリアすることはできますか?

これらのアイコンを並べ替えて表示するプロセスは、残りのキャンバスレンダリングとは別のオブジェクト内で行われるため、mousemoveイベントがトリガされるたびにそのオブジェクト全体を再表示してアイコンを表示する必要はありません私は別の「一時的な」キャンバスのコンテキストに描画する方法があるのか​​、それを簡単にクリアできるのかどうか疑問に思っています。マウスが動いているので、プライマリキャンバスに残っている道はありませんか?誰かがこのような例の方向に私を指摘することができますか、私はこのようなタスクを達成するためにどのように進むべきであるかについて私にアドバイスしますか?

答えて

0

はい、確かに一時的な(メモリ内の)キャンバスに描画できます。これはさまざまな理由で多く行われており、あなたのものは有効です(特に変更の背景がない場合)。しかし、実装するのが最も簡単ではないかもしれません。あなたのアプリについてもっと知らなくても言い難いです。

あなたは考慮すべき適切な選択肢があります:800x800サイズの2つのキャンバスをお互いに重ね合わせることができます。これは、動く部分が異なる背景、前景、中間地がある(しかし、背景部分がほとんど動かず、前景が常に存在するとは限らない)アプリケーションの場合に便利です。

同じように、アイコンをキャンバスに、キャンバスアプリをバックグラウンドでキャンバス上に配置してキャンバスアプリを「レイヤー」することもできます。

+0

優れていて、いくつかの調査をしました。私は複数のキャンバスを撮影します。ありがとう! – Scott

関連する問題