ボタンを押すとMCが大きくなるFlash

このQ&Aのポイント
  • Adobe CS4、ActionScript 2.0で、ボタンを押すとMCが大きくなるFlashを作成したい。
  • 画面上にボタンと四角のムービークリップがあり、ムービークリップの上にボタンを押した回数を表示するダイナミックテキストを配置。
  • ボタンを押して回数を数えさせるためのコードを追加し、さらにMCを大きくするためのコードも追加したが、うまく動作しない。
回答を見る
  • ベストアンサー

ボタンを押すとMCが大きくなるFlash

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

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

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

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

具体的には 何ができて何ができないのかわかりませんが。 > ボタンを押して回数を数えさせるのは、 > on (press) { > point = +1; > } > > で出来るようになりました。 とにかく何だかわかりませんが, 少なくともそれでは回数は数えられないと思います。 加算後代入演算子は += です。 point = +1; これだと point は何度クリックしようとも 1 にしかならないはずです。 まず初めに point に初期値があって 例↓ var point = 0; その上で point += 1; のようなことをすれば 変数 point に 1 が加算されて行きます。 または point += 1; ではなく point++; です。 またボタンのある階層などの状況や構造によっても on (press) { point += 1; } で無事に加算されるかどうかは変わります。 つまり, 説明の範囲では状況説明も不足している上,スクリプトもおかしいのでこれ以上何とも言えません。

muwmuw
質問者

お礼

説明不足で申し訳ありませんでした。 ボタンを押したら数字が表示されたので、それだけで上手くいったものだと思っていました。 確かに、何回か押すと数字が増えませんでした。 また、回数を数えるスクリプトとMCを大きくするスクリプトを合わせると、ボタンを押してもMCが大きくならなくなってしまったのですが、 回答していただいたスクリプトを参考にして書き直したら、上手く動くようになりました。 きちんと確認もせずに質問してしまい、お恥ずかしい限りです。 このような不完全な質問に答えていただき、ありがとうございました。

関連するQ&A

  • スクリプトはどこに書く?MCとボタンの違いは?

    ちょっと根本的な質問なのですが、 ActionScriptはどこに書くのが流行というかスマートだとされているんでしょうか? 私は普段、まとめて書いたほうが後で探しやすいだろうと思って 全てステージに書いています。 ネット上でサンプル等を落としてみるとムービークリップに書いているものをよく見るので、自分のやり方は主流ではないのかな?と若干心配になりました。 でもMCに書いていると、MCが多くなった時にスクリプトを探すのが大変ではないでしょうか? それと、普段はボタンは使わずシンボルはすべてムービークリップにして使っていますが、これもあまりよくないでしょうか? いまいちボタンの存在意義がわかっていないのかも知れませんが、 ボタンでないと出来ない事などはあるのでしょうか? 完全に独学な上に、今までほかの人と意見交換などをする機会もなかったので ここで質問させていただきました。 意見いただければ幸いです。

    • ベストアンサー
    • Flash
  • Flashでボタンをつくっているのですが、actionscriptをつ

    Flashでボタンをつくっているのですが、actionscriptをつかってボタンをクリックさせたいのですが、アクションパネルのところに「現在の選択範囲にアクションを割り当てることはできません。」と表示されてしまいます。 参考書に附属されているflaをみたところ、Actionscript1.0、2.0となっているのですが、作成しているのはActionscript3.0で作っています。 ====== on (release) { /*↑ボタンが押されて離されたら*/ _parent.gotoAndPlay("about"); /*↑「about」ラベルへ移動*/ } ====== このようなscriptをいれたいのですが、うまくいきません。 ムービークリップでボタンを作るまではできました。その後、何かが抜けているのかして上記のようなエラーがでます。 flash初心者のため、どういう風に書いて質問させていただいたらよいのかわからないのですが、参考flaと見比べたときに「シンボル定義」のなかにあるムービークリップがひとつたりませんでした。(このムービークリップは「navigation」というものですのでそれがありません。) 質問するにはあまりにも情報が少ないかもわかりませんが、何卒ご教授いただけると大変助かります。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • duplicateMovieClipしたMCをSharedObjectで保存、読み込みたい

    【やりたいこと】 duplicateMovieClipで何個も複製したムービークリップをSharedObjectで保存し(て読み込み)たい。 【わからないこと】 ユーザーが何個複製するかわからないものをi変数でカウントして それをSharedObjectで保存しようとしているが、 ユーザーが何個複製するかわからないMCに対する 一括命令文?がうまく書けない。 【現状】 まず、MC_printというMCの中にisuというMCがあります。 そのisuの上に空ボタンを置いて、以下のような スクリプトを書きました。 on (press) { _root.MC_print.isu.duplicateMovieClip("isu"+i, i++); //isuというMCをクリックするたびに複製していく _root.MC_print["isu"+i]._x = 500; //重なるので移動させてる } そして、保存ボタンに on (press) { _root.Save_Point(); } と書いていて、 SharedObjectインスタンスの生成は mySharedObject = SharedObject.getLocal("xypoint","/"); としています。 そして肝心のfunction命令文を function Save_Point() { mySharedObject.data["isu"+i._x] = _root.MC_print["isu"+i]._x; mySharedObject.data["isu"+i._y]= _root.MC_print["isu"+i]._y; } としています。 が、動きません。 理由は自分でもなんとなくわかるのですが、 複製されたMCが何個複製されたかわからない。 iの変数がちゃんと共有されてないんじゃないかと思っています。 が、_global変数にしても「isu1」「isu2」という風に インスタンス名を_nameで調べてテキストボックスで確認しても 複製はされてるが、このfunction命令文だとそのインスタンス名毎に (全てに)命令されてないってことですよね・・・。 for文とかを使うんでしょうか。でも何個複製されるか わからないし・・・。よくわかりません・・・。 環境はWindowsXP、FlashMXです。 MX以前の時代から突然またフラッシュを触り始めたので 新しいスクリプトなどはまったくわかりません。 なにかヒントでもいただければ幸いです。どうぞよろしくお願いいたします。

  • loadMovieしたムービークリップのボタン化

    ムービークリップにloadMovieで1.jpgをロードし、それをボタンにしたいのですが、下のスクリプトではうまく動作しません。 menu01_mc.loadMovie("1.jpg"); menu01_mc._xscale=10; menu01_mc._yscale=10; menu01_mc.onRelease = function(){ gotoAndStop(5); } 最初のloadMovieの部分をなくし、 menu01_mc.onRelease = function(){ gotoAndStop(5); } とするとちゃんと動作します。 loadMovieしたムービークリップはボタンにできないのでしょうか? FlashCS3、actionscript2.0で作成しています。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • ボタンによるムービークリップ移動

    flashmx2004/actionscript2.0です。 ボタンにrollOverすると、別の場所にあるムービークリップが所定の位置まで移動する、と言う動きをさせたいと思っています。 ムービークリップがMC1としますと、単純にボタンに MC1._x=0; MC1._y=0; と指定したらその位置に移動はしますが、これのように瞬時に移動ではなく、動きがわかる程度のスピードで動くようにしたいのです。 イメージとしましては画像の上にシャッターのように次の画像が来る形にしたいのです。 フレームをあまり使わず、可能であればボタン1個で動作させたいのですが、どうにも手詰まりです。 ご教授戴ければ幸いです。

    • ベストアンサー
    • Flash
  • ActionScriptで、押したボタンの判別方法を教えてください。

    ActionScriptで、押したボタンの判別方法を教えてください。 ActionScript3.0で作成しています。 6フレームの【oya_mc】というムービークリップの各フレームに フレーム1ラベル[m1]に【ko1_mc】 フレーム2ラベル[m2]に【ko2_mc】 フレーム3ラベル[m3]に【ko3_mc】 フレーム4ラベル[m4]に【ko4_mc】 フレーム5ラベル[m5]に【ko5_mc】 フレーム6ラベル[m6]に【ko6_mc】 というムービークリップを配置しています。 配置しているムービークリップには、それぞれ6個のボタンを呼び出して配置しています。 【btn1】【btn2】【btn3】【btn4】【btn5】【btn6】 【btn3】を押したときに【oya_mc】を3フレーム目に移動。 【btn6】を押したときに【oya_mc】を6フレーム目に移動。 というようにしたいのですが、なかなかうまくいきません。 FLASH初心者ですが、どうかご指導よろしくお願いします。 【ko1_mc】に書いたスクリプトを抜粋して書きます。 ------- for(var i:int = 1; i <= 6; i++){ this["btn" + i].addEventListener(MouseEvent.CLICK,Down); function Down(mo:Event):void{ MovieClip(parent).gotoAndPlay("m"+i); } } ------- よろしくお願いします。

    • ベストアンサー
    • 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
  • Flash MCのモーショントウィーン

    Flash CS5 ActionScript 3.0にて制作しています。 ムービークリップに動きをつけて色を変更するスクリプトを書いています。 ・ボタン1を押すとムービークリップの色が変わる ・ボタン2を押すと10フレーム目に飛んでモーショントウィーン それぞれ機能は正常に動くのですが、ボタン1を押した後にボタン2を押すとモーショントウィーンが動きません。 ボタン2を押した後にボタン1を押す場合は動きます。 ムービークリップのインスタンス名はtest として下記のようなスクリプトを書いています。 どなたか、お力をお貸し下さい。 よろしくお願い致します。 btn.addEventListener(MouseEvent.CLICK, black); black(event:MouseEvent):void { var color = new flash.geom.ColorTransform(0, 0, 0, 1); test.transform.colorTransform = color; } btn2.addEventListener(MouseEvent.CLICK, btn2); function btn2(event:MouseEvent):void{ gotoAndPlay("10"); }

    • ベストアンサー
    • Flash
  • 外部ファイル読み込む用の ムービークリップのインスタンスを配置

    大変初歩的な質問で申し訳ございません。 アクションスクリプトの質問というよりかflashの操作の方になると思います。 Flashのおもしろさにハマり、初心者ながら勉強しているところで、 やはりActionScriptの知識もあるとまた幅が広がって楽しいだろうなと勉強し始めました。 それで、ActionScriptの書籍を注文したのが届くまで、「写真紹介ムービーを作りながら、ActionScriptの基礎を理解していこう」 という親切なサイト様を見つけまして、まずは全く分からないところがあっても、 調べながらでも最後まで作ってみれば少しは言語を知ることができるだろうと、一章、二章と進めていっておりました。 ttp://flash.frogstone.jp/as2_basic/index.html ALPHA FROGさま それで行き詰ってしまったのが ttp://flash.frogstone.jp/as2_basic/chapter4/1.html swfファイルの軽量化の「外部ファイル読み込む用の ムービークリップのインスタンスを配置」 「pict_mcと、thumbnail_mcには、外部ファイルを読み込むためのムービークリップのインスタンス(以下base_mc)を配置しています。 このbase_mcは外部ファイル読み込み専用のムービークリップで、中身は何もありません。」 の部分です。なかなか伝わりにくい部分もあって申し訳ないのですが、 アドバイスしていただける方がいましたらよろしくお願い致します。 現状ではシーン1にpict_mcとthumbnail_mcは配置されております。 それでどこを探してもbase_mcが見つからなく、どこにActionScriptを記述すればいいのだろうかと、分かりません。 探しても考えても分からず、こちらに質問させていただきました。 もしお分かりになる方がいましたらよろしくお願いしたします。 あと初心者がActionScriptに入りやすい書籍やサイト様がありましたら 教えていただけると嬉しいです。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • Flash lite 1.1での質問です。

    Flash lite 1.1での質問です。 最近Flashをはじめたばかりの初心者です。 とても初歩的な質問かもしれませんが、どなたかご教授頂けると助かります。 <質問内容> メインのswfファイルのルートに配置されているmcというムービークリップを、loadMovie関数で外部swfファイルに置き換えたあと、外部swf内に定義されている変数が参照できません。 (外部のswfには画像データも含まれているので、loadvariables関数は使えません) 【構成】 ・main.swf(メインのswfファイル)   ├btn(main.swfのルートに配置されているボタン)   └mc(main.swfのルートに配置されているムービークリップ) ・gaibu.swf(loadMovieで読み込む外部のswfファイル) 【gaibu.swfのルートタイムラインのActionScript】 msg = "this is gaibu.swf!"; 【やりたいこと】 メインのswfでのボタンアクションで、gaibu.swfをロードし、「action」というルートタイムライン上のラベルに移動します。 on(press) { loadMovie("gaibu.swf","mc"); gotoAndStop("action"); } 「action」に移動した後、ボタンアクションにてloadMovieで読み込んだgaibu.swf内の変数msgを出力したいのですが、何も表示されません。 on(press) { trace(mc.msg); } loadMovie関数を使って外部のswfを読み込むと、(gaibu.swfは色を変えてあるので)読み込みは出来ていると思うのですが、そのswf内で定義されている変数が参照できません。loadMovie関数で読み込んだswf内で定義されている変数は消えてしまうのでしょうか? 分かりにくい説明ですみませんが、宜しくお願いいたします。

    • ベストアンサー
    • Flash

専門家に質問してみよう