• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:flashCS4を使っています。初心者です。)

FlashCS4初心者のためのシンボルクリック時のマウスカーソル変更方法

このQ&Aのポイント
  • FlashCS4を使っている初心者の方に質問です。シンボルをクリックした時にマウスカーソルを変えるためのスクリプトを教えてください。
  • 現在、以下のスクリプトを使用しています。stage.addEventListener(MouseEvent.MOUSE_MOVE, mouse_move); function mouse_move(event:MouseEvent){ yubi1.x = stage.mouseX; yubi1.y = stage.mouseY; } Mouse.hide(); このスクリプトではカーソルに「yubi1」という画像を使用していますが、クリック時にカーソルを「yubi2」に変更したいです。
  • 初心者の方がFlashCS4を使ってシンボルをクリックした時にマウスカーソルを変えるためのスクリプトを知りたいです。現在は「yubi1」という画像を表示しており、クリック時には「yubi2」に変更したいです。どのようなスクリプトを記述すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

「シンボルをクリックする」の具体的意味がわかりません。 「ステージの任意の位置をクリックする」という意味と勝手にします。 まず 「yubi1」をMC(ムービークリップ)で作成して そのMC内のタイムラインを2フレームにします。 そして そのMC内のタイムラインのフレーム1には "yubi1の画像" を配置して MC内のタイムラインのフレーム2には "yubi2の画像" を配置し, クリックする前は MC内のタイムラインをフレーム1で stop() させておいて クリックしたときに MC「yubi1」内のタイムラインを gotoAndStop(2) すれば良いのではないでしょうか。 ※↓下の図をご参考に↓ こうすれば "yubi1の画像" と "yubi2の画像" を 頻繁に入れ替える場合でも簡単になります。 フレーム1 に "yubi1の画像" を配置し フレーム2 に "yubi2の画像"を配置しムービークリップに 「yubi_mc」 というインスタンス名を付けたとします。 その場合, 1回目のクリックで "yubi2の画像" にするだけのときのスクリプト例↓ ------------------------ //本物のマウスを隠す Mouse.hide(); //「yubi_mc」がマウスメッセージを受け取らないようにする yubi_mc.mouseEnabled = false; //「yubi_mc」内をフレーム1で止める yubi_mc.stop(); //マウスが動いた時に関数mouse_moveを実行 stage.addEventListener(MouseEvent.MOUSE_MOVE,mouse_move); //関数mouse_moveを定義 function mouse_move(event:MouseEvent):void { //「yubi_mc」をマウスの座標に移動 yubi_mc.x = stage.mouseX; yubi_mc.y = stage.mouseY; //表示を即更新 (移動の もたつきを防止) event.updateAfterEvent(); } //マウスがステージ外に出た時に関数mouse_leaveを実行 stage.addEventListener(Event.MOUSE_LEAVE,mouse_leave); //関数mouse_leaveを定義 function mouse_leave(event:Event):void { //「yubi_mc」をとんでもない座標に移動(消す) yubi_mc.x = -5000; } //マウスアップした時に関数mouse_upを実行 stage.addEventListener(MouseEvent.MOUSE_UP,mouse_up); //関数mouse_upを定義 function mouse_up(event:MouseEvent):void { //「yubi_mc」内をフレーム2で止める yubi_mc.gotoAndStop(2); } ------------------------ クリックする度に "yubi1の画像" と "yubi2の画像" を入れ替える場合は 上のスクリプトのうち最後の「関数mouse_upを定義」の部分を 次↓のように変えます。 --------------------- //関数mouse_upを定義 function mouse_up(event:MouseEvent):void { //もし「yubi_mc」内の表示フレームが1であれば if (yubi_mc.currentFrame == 1) { //「yubi_mc」内をフレーム2で止める yubi_mc.gotoAndStop(2); //それ以外は(=表示フレームが2であれば) } else { //「yubi_mc」内をフレーム1で止める yubi_mc.gotoAndStop(1); } } ---------------------  

すると、全ての回答が全文表示されます。

専門家に質問してみよう