• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:リンケージを使った表示オブジェクトのコントロールについて教えてください)

FlashCS4でAS3.0を使用してリンケージを使った表示オブジェクトのコントロールについて教えてください

このQ&Aのポイント
  • FlashCS4でAS3.0を使用してリンケージを使った表示オブジェクトのコントロール方法について教えてください。
  • 四角いオブジェクトを作成し、モーショントゥィーンを使用してサイズを変化させるムービークリップを作成しましたが、指定したサイズにならずに表示されます。
  • さらに、ムービークリップを最小のサイズに戻すためのボタンを設置しましたが、反応がなく表示されたままです。どのように修正すればよいでしょうか。

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

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

>ムービークリップを表示させる為のボタン「p1_bt」をクリックしたら >オブジェクトがアニメーションして最大サイズになり、 >その最大サイズ時(10フレーム)に設置してある「close_bt」をクリックすれば、 >最大のサイズから最小のサイズにアニメーションし、 >その後そのオブジェクトが非表示にさせたいのです。 と 書かれていらっしゃる日本語を そのままスクリプトにすると次のようになります。 ・メインのタイムラインのフレームのスクリプト -------------------------------------- p1_bt.buttonMode = true; var newCharacter:MovieClip=new Photo1(); newCharacter.x = 60; newCharacter.y = 191; //newCharacter内タイムラインの再生を //フレーム1で停止 newCharacter.gotoAndStop(1); p1_bt.addEventListener (MouseEvent.CLICK,p1Click); function p1Click (evt:MouseEvent):void { addChild (newCharacter); //newCharacter内タイムラインの再生を //フレーム1から開始 newCharacter.gotoAndPlay(1); } -------------------------------------- ・クラス名「Photo1」MC内 フレーム10のスクリプト -------------------------------------- //このタイムラインをこのフレーム(フレーム10)で停止 this.stop (); //close_btにクリック時のイベントリスナーを登録 close_bt.addEventListener (MouseEvent.CLICK,closeClick); //関数 closeClick の定義 function closeClick (evt:MouseEvent):void { //このタイムラインを再生 this.play (); } -------------------------------------- ・クラス名「Photo1」MC内  フレーム20(最終フレーム)のスクリプト -------------------------------------- //親階層に対して命令. 子である自分を削除 this.parent.removeChild(this); -------------------------------------- なお, メインのタイムラインのフレームのスクリプトで書いた  //newCharacter内タイムラインの再生を  //フレーム1で停止  newCharacter.gotoAndStop(1);  //newCharacter内タイムラインの再生を  //フレーム1から開始 の部分を  //newCharacter内タイムラインの再生を停止  newCharacter.stop();  //newCharacter内タイムラインの再生を開始  newCharacter.play(); としても良いですが ムービークリップを表示させる為のボタン「p1_bt」を何度もクリックされた場合, 動きがおかしくなる (私の感性とはずれる) ので gotoAndStop(1) や gotoAndPlay(1) にしています。 また書かれていらっしゃるものに限っては, 「Photo1」MC内のフレーム20(最終フレーム)のスクリプトを 次のようにしても同じ意味になります。 //rootに対して命令. 子である自分を削除 MovieClip(root).removeChild(this);  

gunhiro
質問者

お礼

BlurFiltanさん: いつも迅速で的確なご回答有難うございます。 また、お忙しい中お時間を割いて頂きまして誠に有難うございました。 早速ですが、ご指導のようなスクリプトを記述しましたら、私の思っていた表示が出来るようになりました。 とても解り易い解説でよく理解できました。本当に有難うございました。助かりました…。

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

関連するQ&A

  • Flash オブジェクトの表示/非表示

    こんにちは。今回はオブジェクトの表示/非表示のことに関して質問させていただきます.使っているものは、Mac/FlashCS3/AS1&2 です. (フレーム名"s1"にて) MC(ムービークリップ)/pre_btn(ボタン)/del_btn(ボタン)/btn(ボタン)というオブジェクトが画面に表示してあります. (アクションフレームに) pre_btn.onRelease = function(){   MC._visible = true; } del_btn.onRelease = function(){   MC._visible = false; } (btnムービークリップアクションに) on(release){   _root.gotoAndPlay("s2") } (フレーム名"s2"にて) btn2(ボタン)のみ画面に表示されています. (btn2ムービークリップアクションに) on(release){   _root.gotoAndPlay("s1") } 以上のACを記述しました.これでMCを表示/非表示させることができ,btnをクリックし"s2"フレームに移動/btn2をクリックし"s1"フレームに移動することもできるようになりました. しかし,"s1"にて非表示にしたMCが,"s2"のフレームに移動し"s1"に戻ってきたとき,表示されている状態に戻ってしまいます. どうしたら,一度非表示にしたMCを,その後フレーム移動したとしても,非表示の状態に保つことができるのでしょうか?? どうか,ヒントだけでもいいので,何か教えていただけると嬉しいです. よろしくお願いします.

  • ActionScript3.0フレーム移動について

    お世話になります。 Flash ActionScript3.0で、ボタンをクリックしたら、 階層違いのシーンに移動するという 単純なところでつまずいています。 一番上の階層には、 1フレーム目 フレームラベル "a" 2フレーム目 フレームラベル "b" として、それぞれ this.stop();を書いてあります。 "a""b"には、それぞれムービークリップが配置してあって、 今やりたいことは、"a"に配置してあるムービークリップの 2つ下(中?)の階層にあるボタンをクリックしたら、一番上の階層の"b"に移動して、 "b"に配置してあるムービークリップを表示するようにしたいのです。 "a"のムービークリップのボタンのあるフレームには、 this.stop(); button01.addEventListener(MouseEvent.CLICK,jumpB); function jumpB(event:MouseEvent):void { MovieClip(parent.parent).gotoAndStop("b"); } と書いてみましたが、 [TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。] と怒られます。 試しに MovieClip(stage).gotoAndStop("b"); とか、"b"に配置してあるムービークリップにインスタンス名"b_mc"を与えて MovieClip(parent.parent).b_mc.play(); などと苦し紛れにやってみましたが、すべて同じように怒られます。 どのようにすれば、下の階層から一番上の階層の別フレームに 移動することができますでしょうか? よろしくお願い致します。

  • Flash リンケージ

    ステージ上に空のムービークリップを配置して、そこにjpg画像を読み込む実験をしています。 loadMovieを使えば、外部のjpg画像を読み込めるのですが、 今やりたいのはflash内に画像を読み込んで、ライブラリ内にあるビットマップ画像(jpg)に対して、識別子を付けてスクリプト処理で表示させるというものです。 1.ステージに空のムービークリップ「mc」(←インスタンス名)を配置しています。 2.ライブラリ内のビットマップ画像には「p1」という識別子を付けています。 「p1」の識別子を使った表示方法が解らなかったので、とりあえず今はビットマップ画像を一旦新しいムービークリップで包んでそのムービークリップの識別子を「c1」として、 ルート上に mc.attachMovie("c1,"mc2",1); というように書いて、表示させています。 が、これではやりたい事と違います。 ライブラリ内のビットマップ画像に付けた識別子「p1」を利用して、 その該当するjpg画像をステージ上に配置(表示)させるにはどうすればよいでしょうか? FlashのバージョンはMXもしくは8 ASは1.0もしくは2.0です。

  • actionscript3.0 オブジェクトの動的生成

    actionscript3.0についての質問です。 イラストレーターのテキストツールのように 任意の文字オブジェクトを複数生成し、生成された任意の文字オブジェクト をドラッグで移動する処理をactionScriptで実行したいと考えています。 現在actionscript3.0で行いたいと考えている一連の流れは以下の通りです。 1.ステージに配置したテキストフィールに任意の文字列を入力 2.入力された文字列を参照してムービークリップ内のダイナミックテキストに出力。 3.ステージにボタンを配置し、それを押すことでステージに1.2の手順によって作成されたムービークリップが生成。 4.生成されたムービークリップをドラッグすると動かすことができる。 1から3までの内容を下記のようなスクリプトで行いました。 //ダイナミックテキストを内包するためのムービークリップを定義 //埋め込みアセットクラスmcからインスタンスを生成 var word_mc:MovieClip = new mc( ); //ボタンクリックイベントを登録 create_btn.addEventListener( MouseEvent.Click, creClick ); //ボタンクリック時の処理 function creClick( evt:MouseEvent ):void { //テキストフィールドinputWordに入力されたテキストを変数inputに格納 var input:String = inputWord.text; //word_mc内に配置したダイナミックテキストoutputWordに入力テキスト内容を出力 word_mc.outputword.text = input; //word_mcを画面に表示 addChild( word_mc ); } //word_mcをドラッグで移動させるためのスクリプト word_mc.addEventListener( MouseEvent.MOUSE_OVER, wordMO ); function wordMO( evt:MouseEvent ):void { word_mc.addEventListener( MouseEvent.MOUSE_DOWN, wordMD ); word_mc.addEventListener( MouseEvent.MOUSE_UP, wordMU ); } function wordMD( evt:MouseEvent ):void { word_mc.startDrag( ); } function wordMU( evt:MouseEvent ):void { word_mc.stopDrag( ); } ひとつのオブジェクトを生成するだけならこれで問題ないのですが、 このスクリプトでは、、"車"、"自転車"、"飛行機"という文字列をそれぞれ内包した変数名もしくはクラス名の違うオブジェクトを生成することが できません。 埋め込みアセットクラスをあらかじめ複数作っておいて、クラス名を 連番で名づけ、クラス名から動的にオブジェクトを生成すれば 内容の異なるオブジェクトを生成することは可能ですが、 単語を追加するたびに埋め込みアセットクラスを作成しなければ ならない上、変数名は同じなため、個々のオブジェクトをマウスドラッグすることができません。 イラストレーターのテキストツールのように 任意の文字列を生成した後、個々にマウスドラッグできようにするには どうしたら良いのでしょうか。 どうかご指導のほど、よろしくお願い致します。

    • ベストアンサー
    • Flash
  • ムービークリップオブジェクトがはみ出してしまいます

    FLASHの勉強をし始めて、基本のところでつまづいています。 どなたかお助けください。 縦500×横1000(ピクセル)のステージから、ムービークリップをつくろうとしています。 この際、ステージ上の原点(0,0)は左上ですが、ムービークリップオブジェクトを作成し、中に入ると原点は中心になります。 ここで困ったことが起きています。ムービークリップオブジェクトを縦500×横1000で作成した場合、原点のズレから、中に入った状態では右と下がはみ出してしまい、その部分に描画できないのです。 みなさんどのようにこの問題を回避していらっしゃるのでしょうか。

    • ベストアンサー
    • Flash
  • ムービーのコントロールについて教えてください。

    ムービーのコントロールについて教えてください。 私は、フラッシュCS5を使用し、アクションスクリプト3.0で記述しています。 ムービーコントロールについて教えていただきたくてこちらに書き込みをさせていただきました。具体的には、ステージにムービー(インスタンス名:FLV_Play01)を読込み、そのムービーの上に再生ボタン(インスタンス名:Btn_1)を設置しました。添付画像をご覧ください。 ステージのタイムラインの1フレームに下記のようにスクリプトを記述しました。 import flash.events.MouseEvent; Btn_1.addEventListener(MouseEvent.CLICK, fl_ClickToPlayVideo); function fl_ClickToPlayVideo(event:MouseEvent):void { FLV_Play01.play(); } function removeMC(ev:MouseEvent):void{ removeChild(Btn_1); } Btn_1.addEventListener(MouseEvent.CLICK,removeMC); この記述ですと、ムービーの再生ボタン(インスタンス名:Btn_1)をクリックするとムービー(インスタンス名:FLV_Play01)がスタートして再生されます。再生と同時に再生ボタンが消去され、ムービーだけの表示となります。ただ、このスクリプトですと、ムービーが終了した後には再生ボタンが再表示されない為に繰り返し見る事が出来ないのです。 そこでですが、ムービーの再生終了後に再び再生ボタンを表示させるようにしたいのです(ユーチューブのようなイメージです)。そのためのスクリプトを記述したいのです。どなたか解る方がいましたらスクリプトの記述内容を教えてください。よろしくお願い致します。

    • ベストアンサー
    • Flash
  • loadMovieの読み込み中を表示しない

    Flash Mx 2004です。 ムービークリップにloadMovieで外部画像を表示し、その上にボタンをのせているのですが、画像が出るまでの間ボタンだけが表示されている状態になっています。画像とボタンを同時に表示するにはどうしたらいいのでしょうか?このムービークリップは5フレーム目にあります。 以下の2種類の方法をためしてみましたがうまくいきません。どちらの方法でもまた別の方法でもよいのでよろしくお願いします。 ●読み込み後のフレームへ移動 このムービークリップは別画像をクリックしたら表示されるようにしているので、その画像のアクションに on(release) { _root.gotoAndPlay(6); //5フレーム目の次を表示 } と記述したのですが、これだとなぜかloadMovieの読み込み画像が出ません。 ●最初から読み込んでおいて非表示にしておく ムービークリップを1フレームに配置し [レイヤー名またはインスタンス名]._visible=false; としたのですが非表示になりません。

    • ベストアンサー
    • Flash
  • アニメーションを作りたいのですが。

    動く点のアニメーションを作りたいのですが作り方が良くわかりません。 グラフィックスオブジェクト(objPoint001)を作って、フレームのアクション内に次の文を書いてみたのですが、 objPoint001._x += 100; 何も動作しませんでした。 ムービークリップオブジェクトにした場合は、動作しました。 グラフィックオブジェクトを座標を操作して動かすことは出来ないのでしょうか。

    • ベストアンサー
    • Flash
  • ゆれるFLASHの上にオブジェクトをのせて表示させたいのですが、

    ゆれるFLASHの上にオブジェクトをのせて表示させたいのですが、 うまくいきません。 http://swwwitch.com/books/mycom/theFlash/2008/01/post-11.html こちらのデータをダウンロードして、改造しています。 ゆれる画像はつくれるのですが、 重なり順が一番上になっているのか、 他のムービークリップが表示されません。 良い方法はあるのでしょうか?

    • ベストアンサー
    • 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