• ベストアンサー

マウスオーバーやクリック時に拡大表示させたい。

amountainblastの回答

回答No.3

こんにちは。 >お教え頂きました方法で、あるシンボルをマウスオーバーしたら別のフレームに飛んで、そこに設定してあるシンボルを拡大表示するようなことは可能でしょうか?。 これ自体は可能ですが、その場合はスクリプトが変わってきます。大変失礼ですが、どうもスクリプトの意味自体が分かっていないような気がいます。#1さんのスクリプトのon (rollOver) と言う意味は このシンボルにマウスがrollOverしたら~という処理をしないさいと言う意味になります。 ですので、別のフレームに飛んだ地点でこのスクリプトは解除されてしまいます。 対策としてはフレーム1でマウスがロールオーバーしたらフレーム5に飛ぶ。 フレーム5が表示されたら、X2シンボルを拡大する。 といった流れでいいと思います。 但しフレーム5で記述するスクリプトはどのような処理をしたいかで変わりますけども・・・。

参考URL:
http://www12.plala.or.jp/llink/
teddy1014
質問者

補足

amountainblastさんのご指摘通り、Flashは全くのド素人で色んな意味が理解出来ていないのかもしれません。 #1さんにお教え頂いた通りに実施しようと思いますが、同じレイヤーの同じフレームに、正方形を4等分したような 画像があるのですが、個々にScriptを記述して実行したところ、正しく拡大表示されますが、他の画像が被って表示されます。 拡大画像が最前面に表示されるようにするには、どのようにしたら良いか教えて頂けますでしょうか?。

関連するQ&A

  • マウスオーバー(クリック)画像がでズーム

    下記のサイトのように画像にマウスが乗ったら、ズームするようにしたいのですが、どのようなスクリプトを書いているのでしょうか? http://www.bobscube.com/ もしくは下記のサイトのようにクリックすると画像がズームするサイト。スクリプト的には同じ(マウスクリックとマウスオーバーの違い)じゃないかと思うのですが・・・。 http://www.opfa.org/ 単純に画像がズームするだけなら、こちらのサイトに載っていた↓で出来るのですが、上記サイトのように滑らかにズームする方法が分かりません。 onClipEvent (load) { this._yscale = 100; this._xscale = 100; } on (rollOver) { this._yscale = 200; this._xscale = 200; } on (rollOut) { this._yscale = 100; this._xscale = 100; } ご教授宜しくお願い致します。

    • ベストアンサー
    • Flash
  • loadMovie の拡大縮小

    初めまして、ActionScript についてご質問があります。 loadMovie で外部ファイルのswfを、ムービークリップ「screen」で表示させています。 ボタンで以下のActionScriptを使って、 「screen」を拡大縮小しようと思っております。 on(release){ screen._xscale *=1.2; //幅を1.2倍に拡大 screen._yscale *=1.2; //高さを1.2倍に拡大 } on(release){ screen._xscale /=1.2; //幅を1/1.2倍に縮小 screen._yscale /=1.2; //高さを1/1.2倍に縮小  } これだと無限に拡大縮小ができてしまいます。 上限下限を設定することは可能でしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • マウスを近づけるとオブジェクトが拡大するメニューなのですが・・・

    アクションスクリプトのサンプルソースは以下です。 (関係がありそうな箇所だけ) サンプルでは、横に並べているメニューなのですが 私は縦にやってみたくて・・・ しかし、このソースのままだとどうしても プレビューすると「ななめ」になってしまうのです。 どこをどう改造すればいいのでしょうか? } onClipEvent (enterFrame) { //三平方の定理を利用してマウスからの距離を求める mx = _parent._xmouse; my = _parent._ymouse; ox = this._x; oy = this._y; sx = (ox - mx)*(ox - mx); sy = (oy - my)*(oy - my); s = Math.sqrt(sx + sy); //距離が50以下の時に拡大 if(s<=100){ this._xscale = scl + (100-s)*1.5; this._yscale = scl + (100-s)*1.5; }else{ this._xscale = scl; this._yscale = scl; } 初歩的な事で申し訳ありませんが よろしくお願いします。

    • ベストアンサー
    • Flash
  • ムービークリップの拡大縮小

    MCをクリックしたら拡大・縮小をさせたく、過去の投稿を参考にしながら、以下のscriptを作りました。 onClipEvent(load){ v_orgScale = this._xscale; v_orgX = this._x; v_orgY = this._y; zoomState = false; } on(release, releaseOutside){ zoomState = !zoomState;  this.onEnterFrame = function(){   if( zoomState ){    if(this._xscale >= v_orgScale*2.3){     delete this.onEnterFrame;    }else{     this._xscale *= 1.1;     this._yscale *= 1.1;    }   }else if( !zoomState){    if(this._xscale <= v_orgScale){     this._xscale = v_orgScale;     this._yscale = v_orgScale;     delete this.onEnterFrame;    }else{     this._xscale *= 0.9;     this._yscale *= 0.9;    }   }  }; } ただ、これだとMCの基準点(0,0)に対しての拡大縮小なのでクリックしたポイントが拡大するにつれてどんどんずれていきますよね? これをクリックしたポイントがずれないように拡大縮小する事は可能でしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • マウスオーバーで画像ズーム(起点取得)

    こんにちは。 マウスオーバーすると画像をズームするスクリプトを考えているのですが、オーバーするときに起点をポインタに合わせるにはどうすればいいのでしょうか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=1444680 こちらの過去ログのスクリプトで、「ズーム」自体はできるのですが、これだと起点が固定になってしまい、画面外にはみ出す部分は見られません。 画面を最大幅に合わせると言うことも考えたのですが、あまり大きな余白が取れず、断念しました。 やりたいのは、例えば200*200の限られた枠があって、そこにデフォルトで200*200の画像があり、マウスを持って行くとマウスポインタが当たっている部分が大きくなるというものです。(枠自体は変わらず、中身だけ大きくなる) *** //ムービークリップ(MC)がロード(表示)されたとき onClipEvent (load) {   //変数ySclとxSclにこのMCの最初の座標を確保   yScl = this._yscale;   xScl = this._xscale; } *** ここの座標をマウスポインタから取得すれば…と思い、いろいろ苦し紛れにやっているのですが、うまく動きません。 ご教授の程、よろしくお願いします。

    • ベストアンサー
    • Flash
  • マウスアウトしているのに、マウスオーバーのままになってしまいます。

    よろしくお願いいたします。 ↓このようなものを作っています。(実際に参考にしているサンプルです。) http://www.oshige.com/flash/mx/swf17/divide_x.html スクリプトは --------------------------------- this.init(); this.onEnterFrame = function() { if (base.hitTest(_root._xmouse, _root._ymouse, false)) { this.rollover(); } else { this.rollout(); } this.resize(); this.setalpha(); }; 以下、function init、function rollout、function rollover、function resize、function setalphaが続きます。 --------------------------------- 最下層のレイヤーに「base」という名前のムービークリップを、ドキュメントと同じサイズ、x=0、y=0で配置。 その上に実際に動かしたいムービークリップが乗っていて、「base」にマウスオーバーしている時にそれぞれのムービークリップの動きをコントロールするというものです。 ですが、マウスを速く動かした時などに、baseからマウスアウトしているにも関わらず、マウスオーバーの状態のままになってしまいます。 色々試してみたところ、実際にbaseやムービークリップが乗っているサイズよりもドキュメントのサイズをかなり大きく取ると解消されたのですが、(サンプルでもそのようになっていました)それではページデザイン上問題があるので・・ スクリプトでどうにかできるものでしょうか? どうぞよろしくお願いいたします。 全然意味が分からない説明になっているかもしれません。不明な点がありましたらご指摘ください。

    • ベストアンサー
    • Flash
  • どうしてロールオーバーを繰り返すと同じオブジェクトが二重に表示されるのですか??

    こんにちは.またまたみなさまのお力をお借りしにきました. 使っているのは「FlashCS/AS1&2」です. アクションフレームに"nu1"というMCをロールオーバー時拡大,ロールアウト時縮小(もとの大きさ)にするASを記述しています.(他にも”nu2”などの同じ機能を持ったMCもあります.) 正常に動くのですが,フレームを何度か移動して,また"nu1"などにロールオーバーしたとき,"nu1"の上に"nu1"がまた再表示されたりしてしまいます.("nu1"はどのフレームにも存在しています.) 原因は震度の問題なのでしょうか?? 震度に関しては以下のASを記述しています. ("top"というMCが存在するアクションフレームに) top.swapDepths(100000); ("nu1"が存在するアクションフレームに) nDepth = 0; nu1.onRollOver = function() { nu1.swapDepths(++_parent.nDepth); nu1._xscale = 120; nu1._yscale = 120; } 他に試したことは,アクションフレームではなく"nu1"のムービークリップアクションフレームにロールオーバー等のASを記述することもしましたが,同じような現象が起こってしまいます. 原因はなんなのでしょうか??? どうか解決していただけないでしょうか?

  • 縮小させる時の基点について

    ActionScriptを勉強中です。分からないことがあるので質問させていただきます。 ステージ上にマスクをかけたムービークリップ(インスタンス名:mc)があり、 そのmcを拡大ボタンと縮小ボタンを使い拡大/縮小できるようにしています。 mcが拡大されている時には、mc自体をドラッグして動かせるようにしています。 レイヤー構造は ーーーーーーーーーーーーーーーーーーーーーーーーーーーー 1、ボタン:拡大ボタンと縮小ボタンを配置 2、マスク ---マスクの対象:mcを配置 3、背景:背景というか枠を書いています ーーーーーーーーーーーーーーーーーーーーーーーーーーーー となっております。 mcにには ーーーーーーーーーーーーーーーーーーーーーーーーーーーー on (press) { left = Stage.width-this._width/2-2; top = Stage.height-this._height/2-98; right = this._width/2+2; bottom = this._height/2+2; this.startDrag(false, left, top, right, bottom); } on (release, releaseOutside) { this.stopDrag(); } ーーーーーーーーーーーーーーーーーーーーーーーーーーーー 拡大ボタンには ーーーーーーーーーーーーーーーーーーーーーーーーーーーー on (release) { if (mc._yscale < 300) { mc._xscale = mc._yscale += 100; } else { mc._xscale = mc._yscale = 300; } }ーーーーーーーーーーーーーーーーーーーーーーーーーーーー 縮小ボタンには ーーーーーーーーーーーーーーーーーーーーーーーーーーーー on (release) { if (mc._yscale > 100) { mc._xscale = mc._yscale -= 100; } else { mc._xscale = mc._yscale = 100; } } ーーーーーーーーーーーーーーーーーーーーーーーーーーーー と書いています。 拡大した時の挙動は問題ないのですが、縮小する時の挙動に問題があります。 mcの中心を基点にしているため、端の方でで縮小すると余白が見えてしまいます。 この余白を見せないためにはどうしたら良いのでしょうか? 素人考えでhitTest()を使えば良いのかと思っているのですが、なかなかうまくいきません。 どうしたらよいのかご教示いただけると助かります。よろしくお願いいたします。 制作環境はCS4でAS2.0です。

  • Flash5で_rootじゃだめthisならOKなんてありますでしょうか。

    いま、FLASH5でローディングバーを作成しているのですが、矩形でバーを作りムービークリップにして、それを_xscaleで伸ばしたいと考えています。そこでテストと言ってはなんですが、例えばそのムービークリップを_rootで幅80%指定(例えばMCと言うムービークリップであれば_root.MC._xscale=80)すると、幅が100%のままで再生されてしまいます。これをthisで定義(this.MC._xscale=80)とすると、これでやっと80%の幅で再生されますが、なんだか矩形のローディングバーだけではなくて画面自体のステージ全体が80%にまで伸縮されて表示されます。このthisの状態で アクションスプリクトを組んで、ループさせてバーを0%の長さから100%の長さまで伸ばしたら、バーが走り回る事態になります。バージョンは、Flash5日本語版でエデュケーション版となっています。なぜこのような現象が起こるのかコメントお願いいたします。

  • マウス以外でクリックするには?

    今プログラミングでゲームを作っています。 マウスを隠して、ムービークリップをマウスと連動させてるのですが、マウスの方向と違う方向を動きます。 例。マウスが右に動けばムービークリップは左に動く。 そこで、今度はそのムービークリップがロールオーバーしたときにアクションが開始されるというものを作りたいのですが、どうすればいいでしょうか。 onRollOverだと、マウスがそのものの上を通ったときですよね。 これを、ムービークリップが動いたときにしたいのです。 わかりにくくてすみませんが、回答お願いします。