• ベストアンサー

mcに関して

FLASHMXを使用 ボタンを押したらmcが現れて動くというムービーを作りたいでよすがFLASH5の本を見てもうまく動きません。MXではtargetを使えないでしょうか いいアドバイスをよろしく

  • Flash
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
noname#35109
noname#35109
回答No.2

#1です。 おそらく書かれていることは, これでできると思います↓。」 ------------------------- on (release) { _root.map.gotoAndPlay(2); } ------------------------- Flash 5 でも,Flash MX でも(Flash 8 でも), これが普通のスクリプトの書き方です。 gotoAndPlay(2); に関してですが, これは本来ムービークリップオブジェクト(クラス)のメソッドで, ムービークリップ.gotoAndPlay(2); このムービークリップを略した形だと考えてください。 ムービークリップを略すとどうなるかというと, そのスクリプトが書かれてあるムービークリップのフレームを フレーム2 に進めます。 略さずに書くと this.gotoAndPlay(2); という意味になります。 書かれている感じ, ボタンのあるタイムラインのフレームを フレーム2 に進めたいのではなくて, _root にある map というインスタンス名のムービークリップ内を フレーム2 に進めたいのだと思うので, _root.map.gotoAndPlay(2); となります。以上です。 ~・~・~・~・~・~・~・~・~・~・~・~・~・~・~ 以下は,混乱するかもしれませんので, わからなければあまり考えないようにしてください。 おそらく参考にはならない調査結果です。 無視してくださってかまいません。 「targetPath」ってそんな風に使えたっけ??? と思って Flash 5 のヘルプを見てみました。 次の === 内は Flash 5 のヘルプからの引用です。 =========================================== targetPath シンタックス targetpath(movieClipObject); 引数 movieClipObject ターゲットパスが検索されるムービークリップへの参照 (たとえば、_root や _parent)。 説明 関数; movieClipObject のターゲットパスを含むストリングを返します。 ターゲットパスは、ドット表記で返されます。 スラッシュ表記でターゲットパスを検索するには、 _target プロパティを使用します。 Player Flash 5 以降。 例 次の例は同じです。 第 1 の例ではドット表記を使用し、第 2 の例ではスラッシュ表記を使用しています。 targetPath (Board.Block[index*2+1]) { play(); } 上記は、次と同じです: tellTarget ("Board/Block:" + (index*2+1)) { play(); } 関連項目 eval =========================================== ヘルプには以上のように書かれていますが, この内容は大嘘です。 targetPath (Board.Block[index*2+1]) { play(); } なんて使い方はできません。 Flash 5 でもできません。エラーになります。 ヘルプも時に平気でウソをつくことがあるので要注意です。 その参考にされている本も,このヘルプの内容にダマされたのかもしれません。 最初に書いたスクリプト。 on (release) { _root.map.gotoAndPlay(2); } これにあえて,targetPath を使うと次のようになります。 --------------------------- on (release) { eval(targetPath(_root.map)).gotoAndPlay (2); } --------------------------- もしくは --------------------------- on (release) { aaa = targetPath(_root.map); eval(aaa).gotoAndPlay (2); } --------------------------- しかしこんな,まどろっこしい書き方はどう考えても普通はしませんし, このように書くメリットも1つも思い浮かびません。 やはり,ターゲットムービークリップの指定に targetPath を使うのはおかしいと思います。 次の === 内は Flash MX のヘルプからの引用です。 =========================================== targetPath Player Flash Player 5。 シンタックス targetpath(movieClipObject) パラメータ movieClipObject 検索するターゲットパスのムービークリップへの参照 (_root や _parent など)。 戻り値 なし。 説明 関数; movieClipObject のターゲットパスをストリングとして返します。 ターゲットパスは、ドット表記で返されます。 スラッシュ表記でターゲットパスを検索するには、_target プロパティを使用します。 例 次の例では、ムービークリップをロードすると同時にそのターゲットパスを表示します。 onClipEvent(load){ trace(targetPath(this)); } 関連項目 eval =========================================== この Flash MX のヘルプにある通りです, これが,targetPath の正しい意味と使い方です。 難しいかもしれませんし,極たまに大嘘を書いてある場合もありますが, MX 用の本がなければ,ヘルプを頼りにする方が良いような気もします。

その他の回答 (1)

noname#35109
noname#35109
回答No.1

Flash MX ではできて , Flash 5 ではできないことはたくさんありますが, Flash 5 でできることは,たいてい何でも Flash MX でできます。 それに, > ボタンを押したらmcが現れて動く というものは色々パターンがありすぎて, どういう状況のことを質問されているのかが全くわかりません。 また, > MXではtargetを使えないでしょうか target とは tellTarget ("") {} のことでしょうか? tellTarget は Flash MX では使用を避ける関数ですが, その前に Flash 5 で一応使用禁止にされていますからどっちにしても使わないのが普通です。 だから 「targetを使えないでしょうか」 の意味もわかりません。 良かったら, したいけどできないスクリプトを補足で書いてください。 書かれても全くわからないかもしれませんけどね。 > FLASH5の本を見てもうまく動きません。 バージョンに合った本の方が良いです。 Flash を始めて間もない方が Flash の本を買うときの最低条件です。 だいたい,画面がFlash 5 とMX では全然違うでしょう。 Flash MX の本も探せばまだどこかにあるかもしれません。 なんとか,探して買われることをお薦めします。

sachi225
質問者

補足

このようなスプリットをボタンのところ書きました インスタンス名はmapにしました on (release) { targetPath(_root.map) gotoAndPlay(2); } これで分かりますか

関連するQ&A

  • MCを複数させると・・・

    Macromedia Flash MX2004を使用しています。 ActionScriptはまったくの初心者です; ビーズアクセサリーを自分でデザインするFlashを作ろうとしています。 ある領域に元々用意されているビーズのMCをドラッグしていくと、ビーズMCがその領域からドラッグした数だけMCが複数出てきます。 複数出てきたビーズMCを組み合わせてアクセサリーが出来ていくというものです。 今できているのはこちら↓ http://ribbon.chu.jp/flash/bi_zu.html 説明が難しいので、↑からDLして見ていただいてかまいません; 今、出しすぎてしまったビーズMCをゴミ箱に入れると削除される というのをやっているのですが、ActionScriptの記述の仕方がわかりません。 とりあえずMCをゴミ箱MCに入れると削除するやり方は分かるのでコピペしてやってみたのですが、 私が作っているFlashは、 Num++ [mc+Num] みたいにどんどん同じMCが複製されていくせいか、ゴミ箱MCに触れさせても正常に動作してくれません; もう一つ、MCを吸着するようにしたいのですが、これもやり方は分かるのですが複数MCが生成されるFlashなのでどのように記述すれば複数のMCを複数の別のMCに吸着させることができるのでしょうか?; 分かりにくい文章ですみません・・・ 本当に困っているので何かちょっとしたことでも分かる方いましたら教えてください。

    • ベストアンサー
    • Flash
  • MC間でMCをやり取りできますか?

    質問は初めてですがよろしくお願いします。 深度入れ替えの関係で(簡略化のため)、MCを似たような深度ずつに親MCにまとめる構造で作成してきました。 しかし、このやり方では、当初予定していた深度の移動はできますが、予定外の深度の移動が、不可能になりました。 やりたいこと _root.a.mc のような構造の中のmcというムービークリップを、 _root.b.mc の階層に移動したいのです。mcの持つ変数等も一緒に移動できるのが好ましいです。 不可能であれば、 attachMovie()、removeMovieClip()あたりを使って負荷のかかりそうなやり方で我慢しようとは思っています。 ParaFla!使用・SWF8:FLASH8相当の設定で製作中

    • ベストアンサー
    • Flash
  • 3つのMCが全てクリックされたかどうかの判断

    3つのMCが全てクリックされたかどうかを判断し、全てクリックされた時点でボタンを表示したいです。 アドバイスよろしくお願いします。(環境はFlash8です)

    • ベストアンサー
    • Flash
  • mcが最後まで再生されるのを待って、on(press)を受けるようにしたい

    flash初心者です。 main_mcの中に、たくさんのmcを配置し、タイムラインに配置したボタンをクリックすると,mcが再生するよう作りました。 こんなかんじです。 on (press) { _root.main_mc.mc_017.gotoAndPlay(2); } フレーム1にはstop();が書いてあって 何の操作もしないときは再生しないようにしてあります。 そこまではできたのですが、再生中の間も、 ボタンをクリックするとmcの2フレームに戻り、再び再生されてしまいます。 最後まで再生されるのを待って、on(press)を受けるようにしたいのですが どうしたらいいでしょうか。 使用しているのはFLASHMX, mac os 10.4.11です。 初歩的な質問かも知れません。 ご教授いただけると幸いです。

    • ベストアンサー
    • Flash
  • mcのスクロール

    以下のムービーを作ったのですが動作がおかしいです。 ----------------ステージ------------- | [ボタン]  [photo(mc_0とmc_1)] | ------------------------------------- 【ムービーの説明】 load時:photo(mc)がmcPos[-203]の位置に移動 enterframe:ボタンにmouseoverでそれぞれの座標に移動 ※photoは同じものを二枚重ねて、それぞれにmc_0とmc_1とインスタンス名をつけて、異なるスピードで移動。「//」で斜めにマスクを作っているので、ひとつの写真が斜めにずれながら移動しているように見える 【おかしな動作】 loading動作してない状態(FlashMXで単にCtrl+Enter)した状態だと再生時に「mcPos」の「-203」にphotoは移動するのですが、loadingを動作させると再生時にphotoが移動しない。ボタンにonRollOverしたときには、ちゃんとそれぞれの座標に移動します。ただ再生時に「mcPos」の「-203」に移動しない。 /---rootの1フレーム目(ローディング)---/ this.stop(); defWidth = bar._width; if (getBytesLoaded() == getBytesTotal()) {gotoAndStop("start");} this.onEnterFrame = function(){ per = Math.floor(getBytesLoaded()/getBytesTotal()*100); loading = "Now Loading..."+per+"%"; bar._width = defWidth*(per/100); }; /---rootの2フレーム目---/ this.stop(); mc_0.setMask(mask_0); mc_1.setMask(mask_1); mcPos=new Array(); mcPos=[-203, -589, -1361, 183, -975, -1747]; this.onLoad=function(){a=0;}; this.onEnterFrame = function(){ mc_0._x += (mcPos[a]-mc_0._x)/1.4; mc_1._x += (mcPos[a]-mc_1._x)/2; }; /---rootの2フレーム目(インターフェイス)---/ ボタン(mc)の編集画面 on(rollOver){_root.a = 0;gotoAndStop("top");} on(rollOut){gotoAndStop("out");} on (release, releaseOutside){getURL("index.html");}

    • ベストアンサー
    • Flash
  • ボタンを押すとMCが大きくなるFlash

    AdobeCS4、ActionScript2.0で、ボタンを押すとMCが大きくなるFlashを作ろうとしているのですが、 上手く動かないので質問させていただきます。 画面上に、ボタンと四角のムービークリップがあり、 ムービークリップの上にダイナミックテキスト(変数名point)でボタンを押した回数を表示させて、 ボタンを押すとMCが大きくなるようにしたいのです。 ボタンを押して回数を数えさせるのは、 on (press) { point = +1; } で出来るようになりました。 MCを大きくするのも、過去の質問を参考にしたら出来るようになったのですが、 この二つを合わせると動かなくなってしまいました。 また、過去の質問http://okwave.jp/qa/q4271772.html これだと、ずっと大きくなってしまうので、ある程度大きくなったら、 大きくなるのを止めたいのですが、それも上手くいきませんでした。 どうしたらいいのか、教えていただけますでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • MCのリンク先をMCで変更

    ステージ上にAとB、2つのMCがあるとします。そこで、AをクリックすることによってBのリンク先を変更する…ということは可能でしょうか?変数を使えば出来るのかと思いますが、アクションスクリプトを勉強し始めたばかりでよく解りません。 FlashMXを使用しています。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Flash
  • 【action script】複数のMCを・・・

    環境:Flash8 actionscript2.0 10こ程度のムービークリップをそれぞれクリックした時に同じ動きをさせる文を1つにまとめることは可能でしょうか? ムービークリップそれぞれに mc1 mc2 mc3 …mc10 とインスタンス名をつけています。 さらにその下位層に mc1  └kai_mc mc2 └kai_mc ・ ・ ・ mc10 └kai_mc と置いています。 このそれぞれのムービークリップをクリックした際、その下位層のムービークリップを次のフレームに移動させたいと考えています。 それぞれ個別に書くと _root.mc1.onRelease=function(){ _root.mc1.kai_mc.nextFrame() } と書いていたのですが、ムービークリップの数を増やすかも知れずムービークリップの数分書くのは大変なので1つにまとめたいと考えています。 自分で以下のように書いてみました。 i=0 for(i=1; i>10; i++){ _root["mc"+i].onRelease.function(){ _root["mc"+i].kai_mc.nextFrame() } } うまくいかないので試行錯誤したりtraceで調べたりしたのですがどうもよくわかりません。 i=0 for(i=1; i>10; i++){ _root["mc"+i].onRelease.function(){ trace(i) } } で出力すると 11と表示されるのでpassが違うとは思うのですが・・・ iを1~10で指定しているのになぜ11となるのでしょうか? どうすればpass指定できるのでしょうか? そもそものやり方、考え方が違うかどうかも含め、教えて頂きたく質問しました。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • MCの重なり順

    今、ボタンをクリックするごとにattachMovieでステージ内にMC(ボールのアニメーション)を配置するというものを作っています。 ステージ内に設置したカラーバー(スライダー?)からsetRGBでそれぞれのMCに色をつけています。 そこで、それを応用して背景も色を変えられればいいなぁと思い、背景部分をMCにして背景ボタンを作り、 色を選択して背景ボタンを押すと、背景の色が変わるようにしました。 これで背景の色を自由に変えることができるようにはなったのですが、 クリックして出現させたボールMCの上に背景が重なってボールが見えなくなってしまいます。 きっとこれは深度に関係しているんだろうとは思いましたが、背景もattachMovieで複製させているため、どうしていいかわかりません。 もしくは、背景をMCにしないで色を変える方法があればいいのかとも思うのですが…。 環境はXP、FlashMXです。 どなたか分かる方、解答よろしくお願いします!!

    • ベストアンサー
    • Flash
  • ムービークリップ再生後の移動

    ボタンが複数あり、1つのムービークリップ再生後に、違うページに移動させることは可能でしょうか? 例 ボタン「A」→ムビークリップ「MC1」→ページ「P1」 ボタン「B」→ムビークリップ「MC1」→ページ「P2」 ボタン「C」→ムビークリップ「MC1」→ページ「P3」 というような感じです。 ボタン「A」があった場合、ムビークリップ「MC1」を再生後、ページ「P1」に移動、ボタン「B」は、ムビークリップ「MC1」を再生後、ページ「P2」に移動といことができればと思っています。 初心者なので、なるべく簡単な方法でどなたか知恵を貸していただけないですか?よろしくお願いします。 「Flash MX2004」で製作しています。

    • ベストアンサー
    • Flash