1

Flareを使用してデータの視覚化を表示および操作する純粋なAS3(Flexなし)プロジェクトがあります。いくつかのパン動作を実装したので、ビジュアライゼーションをクリックしてドラッグできます。次に、矢印カーソルを見栄えの良い手のアイコンに切り替えることで、これが可能であることを視覚的に示すインジケーターをユーザーに提供します。

ユーザーは、マウスがクリック可能なノード上にある場合を除いて、いつでもクリックアンドドラッグできます(その時点で、カーソルがポインターに切り替わります。この動作はすでに実行されています)。

だから...
1)独自のカスタムビットマップ/スプライトを作成する必要がありますか、それとも使用できる組み込みカーソルのパレットがありますか?(私はFlexを使用していません。)

2)デフォルトの矢印をプロジェクト全体のパンカーソルに単純に置き換える方法はありますか、それとも表示オブジェクトのマウスイベントにスワッピングをアタッチする必要がありますか?ステージオブジェクトを使用して、この動作をどこにでも適用できますか?

3)スワップを実行するにはどうすればよいですか?Cursorオブジェクトを直接使用しますか、それともCursorManagerに関与する必要がありますか?

ガイダンス、擬似コード、または知恵の言葉は大歓迎です!

4

2 に答える 2

2

フラッシュにはCursorMangerはなく、フレックスだけだと思います。私がやっている方法は、カーソルを非表示にし、カスタマイズされたカーソルをmouse_moveにドラッグするカスタムクラスを使用することです。mouseChildren = falseに設定する必要があります。そうしないと、flickrになるか、ボタンをクリックできなくなります。私が見つけた問題の1つは、カスタムコンテキストメニューに関するものです。このリンクを試してくださいhttp://abrahamyan.com/2009/03/23/as3-cursormanager/

于 2010-04-22T04:22:09.037 に答える
2

私が学んだいくつかのこと(本当に、かなり新しいことです)。まず、Mouse.cursorをMouseCursor.TYPEのオプションのいずれかに設定することで設定できる組み込みのカーソルオプションがいくつかあります。Mouseオブジェクトはアプリ全体で利用可能なシングルトンであるため、コード内で変更すると、別の変更がトリガーされるまで変更が保持されます。私の単純なケースでは、これを行いました:

    //on init, start with the "hand"
    Mouse.cursor = MouseCursor.HAND;

    //on clickable items, change to "pointer", then back to "hand"
    myClickableNode.addEventListener(MouseEvent.ROLL_OVER, function(evt:Event):void {
      Mouse.cursor = MouseCursor.BUTTON;
    });
    myClickableNode.addEventListener(MouseEvent.ROLL_OUT, function(evt:Event):void {
    Mouse.cursor = MouseCursor.HAND;
    });

その結果、クリック可能なものをロールオーバーするまでは常に「手」があり、その後「ポインター」が得られます。

于 2010-04-22T15:52:02.683 に答える