カスタムカーソル

カスタムカーソル

どうも、はじめまして
Flashを勉強し始めて数ヶ月のペーペーでございます

それでいろいろなサイトを見て勉強してたんですけど、FlashってActionscript2.0や3.0、Flash ProfessionalやFlexなどいろいろあって紛らわしいというかややこしいというか…

そこで、勉強ついでにFlash Professional(CS3)でActionscript3.0に特化したチュートリアルブログでもつくろうかなと思い立った次第であります
なにぶん初心者ですから未熟なところが多々あると思いますが温かい目で見ていただけると幸いです

そんなわけで以後よろしくお願いします


では第1回目はカスタムカーソルの作り方


まずはFlashを開いて適当にサイズを設定します



新規シンボルを作成します



カーソルにしたい画像を作成、または配置して当たり判定の欲しい場所を+のところに持って行きます



シーン1に戻ります



ライブラリパネルにある作成したシンボルをステージ上にドラッグします



配置したシンボルにcursor_mcとインスタンス名をつけます



新規レイヤーを作成し、名前をasに変えます。下手にオブジェクトを置いたりしないようにロックしておくと良いです


asレイヤーの1フレーム目をクリックして、アクションパネルを開きます(ショートカットキーF9

Mouse.hide();    //マウスカーソルを非表示
cursor_mc.startDrag(true);    //シンボルをドラッグ状態でマウスカーソルの位置へ

そこにこのように記述します


これでムービープレビュー(Ctrl+Enter)するとカスタムカーソルが出来ていると思います

動きがカクカクするという場合はフレームレートを上げてやるとスムーズになります


もしくは

Mouse.hide();    //マウスカーソルを非表示

//マウス移動でcustomCursorという関数を実行
stage.addEventListener(MouseEvent.MOUSE_MOVE,customCursor);
function customCursor(event:MouseEvent):void {
  cursor_mc.x = stage.mouseX;    //シンボルのX座標をマウスのX座標へ
  cursor_mc.y = stage.mouseY;    //シンボルのY座標をマウスのY座標へ
  event.updateAfterEvent();    //フレームレートに関係なくイベント後に画面を更新
}

このような記述法だと少ないフレームレートでもスムーズに動きます


以上カスタムカーソルの作り方でした