ActionScript3.0でフレームの移動が上手くいかない問題について

このQ&Aのポイント
  • FLASH CS4でボタンをクリックしてフレームを移動するためのスクリプトがうまく動かない問題が発生しています。
  • 「メニュー画面」から「サブメニュー画面」への移動は正常に動作していますが、緑のボタンをクリックして「目的のページ」に移動することができません。
  • どなたかこの問題を解決できる方法を知っている方がいらっしゃいましたら、教えていただきたいです。
回答を見る
  • ベストアンサー

ActionScript3.0について教えていただきたいです。

ActionScript3.0について教えていただきたいです。 下記の添付画像を参考にしていただくと理解しやすいかと思います。 FLASH CS4にて、フレームの移動を行いたいのですが、どうも上手くいきません。 「メニュー画面」でボタンを選択し、「サブメニュー画面」を表示するところまではできるのですが、 緑のボタンをクリックして、「目的のページ」に移動する事ができません。 「メニュー画面」から「サブメニュー画面」へは、 ボタン名.addEventListener(MouseEvent.CLICK,任意の関数名); function 任意の関数名(e:MouseEvent):void{ gotoAndStop(ページ数); } というスクリプトで動きますが、「サブメニュー画面」から「目的のページ」への移動ができない状況にあります。 どなたかわかる方いらっしゃいましたら、是非教えていただきたいです。 よろしくお願いします。

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

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

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

お礼

ご回答ありがとうございます。 すみません、説明不足でした・・。 「メニュー画面」「サブメニュー画面」「目的ページ」ともにFLASHで作成した画面ですので、WEBページに飛ぶような構造にはなっておりません。 私的には「メニュー画面」から「サブメニュー画面」へ移動はgotoAndStopで動作したのだから、 「サブメニュー画面」から「目的ページ」へもgotoAndStopで行くと思ったのですが動きませんでした。 私の説明不足で、お手数をお掛けして申し訳ございませんでした。

関連するQ&A

  • Actionscript 同じような処理をまとめたい

    閲覧ありがとうございます。 プログラム初心者です。 FlashでサイトのTOPページに置くメニューを作成しています。 Flashのヘルプを見ながらできたのですが5つあるボタンにつきいちいち関数を作っていて、もう少しコンパクトに書きたいと思いました。 きれいに書くにはどうするのがベストでしょうか? もしかしてActionscriptは一つのボタンにつき一つの関数を書かなければいけないのですか? //自分なりに書いてみてうまくいかなかったソースです。 //実行するとボタンを押す前に一番上に書いたアドレス(http://address1.php)に飛んでしまいました。 var Add1:String = "http://address1.php"; var Add2:String = "http://address2.php"; var Add3:String = "http://address3.php"; var Add4:String = "http://address4.php"; var Add5:String = "http://address5.php"; function onClickButton(event:MouseEvent, address:String) :void { var selectURL:URLRequest = new URLRequest(address); navigateToURL(selectURL,"_self"); } button1.addEventListener(MouseEvent.CLICK, onClickButton(Add1)); button2.addEventListener(MouseEvent.CLICK, onClickButton(Add2)); button3.addEventListener(MouseEvent.CLICK, onClickButton(Add3)); button4.addEventListener(MouseEvent.CLICK, onClickButton(Add4)); button5.addEventListener(MouseEvent.CLICK, onClickButton(Add5));

    • ベストアンサー
    • Flash
  • actionscript3.0でボタン操作無効化

    flashのHPを作っております。 (mc)ボタンを配置しクリックすると画面の背景が変わる操作をしたいと思っており(top、new、main・・・など) 下記のHPのような http://www.mediacreator.jp/tutorials/show_tutorial.asp?id=69&pn=3 操作ボタンを作っております。 上記HPは2.0で製作されているため、3.0に改変し、 アクションを下のようにしました。 var buttonNames= new Array("button1", "button2", "button3", "button4"); button1.buttonMode = true; button2.buttonMode = true; button3.buttonMode = true; button4.buttonMode = true; button1.addEventListener(MouseEvent.CLICK, button1click); button2.addEventListener(MouseEvent.CLICK, button2click); button3.addEventListener(MouseEvent.CLICK, button3click); button4.addEventListener(MouseEvent.CLICK, button4click); function resetButton(buttonName){ for(var i = 0; i < buttonNames.length; i++){ if(buttonNames[i] != buttonName){ this[buttonNames[i]].gotoAndStop(1); this[buttonNames[i]].enabled = true; } } } function button1click(event:MouseEvent):void { resetButton(button1); this.gotoAndStop(2); this.enabled = false; } function button2click(event:MouseEvent):void { resetButton(button2); this.gotoAndStop(2); this.enabled = false; } function button3click(event:MouseEvent):void { resetButton(button3); this.gotoAndStop(2); this.enabled = false; } function button4click(event:MouseEvent):void { resetButton(button4); this.gotoAndStop(2); this.enabled = false; } コンパイルエラーは無くなったのですが、ボタン自体が動いてくれません。 どこが間違っているか分かる方、お教え下さい!

  • 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
  • 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、ActionScriptを勉強しています。 今、美容室のgardenというページを作れるようになろうと思っているのですが、どうしてもDesignerのページのActionScriptがまずいのか、nextを押し続けて一巡するとnextボタンがうまく作用しません。 これは何がいけないのでしょうか? ちなみに今書いているスクリプトはこんな感じです。 //nextを押したら8までジャンプ next.addEventListener(MouseEvent.CLICK,action); function action(event:MouseEvent):void { gotoAndStop(8); } よろしくお願いします。 http://www.garden-hair.jp/ginza/index.html

  • Flash ActionScript3.0ボタン.

    このまえはじめたばかりの初心者です。FlashCS4です。 Flash ActionScript3.0ボタンでフレームに飛ぶ方法がわかりません・・ AS3.0ではボタンにスクリプトが書けないので メインタイムラインの最初のフレームにスクリプトを書くのですよね? アドレスに飛ぶ方法は this.stop(); // イベントを設定 stage.addEventListener( MouseEvent.CLICK , onClick ); // 画面クリックをするとonClickが動作するイベント function onClick ( event:MouseEvent ) { // URLRequestを設定 var url:URLRequest = new URLRequest( "http://www.google.co.jp" ); // 実際にページに飛ぶ navigateToURL( url ); } こちらであっていますでしょうか・・? これをいじってフレームに飛ぼうとおもうのですが、うまくいきません・・ どなたか、flashサイトでもわかりやすいところがあれば ご伝授おねがいいたします。

    • 締切済み
    • Mac
  • Flash CS4 actionscript3.0に関しての質問です。

    Flash CS4 actionscript3.0に関しての質問です。 あるボタンMCにaddEventListenerでリスナーを設定しているのですが、 親MCをgotoAndStopにてフレーム移動し、また元のフレームに移動してくると 設定したリスナーがなくなっているのです。 この場合は都度、リスナーを再設定するしかないのでしょうか?

    • ベストアンサー
    • Flash
  • Flash ActionScript3.0ボタン.

    このまえはじめたばかりの初心者です。FlashCS4です。 Flash ActionScript3.0ボタンでフレームに飛ぶ方法がわかりません・・ AS3.0ではボタンにスクリプトが書けないので メインタイムラインの最初のフレームにスクリプトを書くのですよね? アドレスに飛ぶ方法は this.stop(); // イベントを設定 stage.addEventListener( MouseEvent.CLICK , onClick ); // 画面クリックをするとonClickが動作するイベント function onClick ( event:MouseEvent ) { // URLRequestを設定 var url:URLRequest = new URLRequest( "http://www.google.co.jp" ); // 実際にページに飛ぶ navigateToURL( url ); } こちらであっていますでしょうか・・? これを多少いじって次のフレームに飛ばそうとおもうのですが、うまくいきません・・ どなたか、flashサイトでも、わかりやすいところがあれば ご伝授お願いします。

  • FLASH/一定時間停止後、再生されるscript

    flash CS4/ActionScript3.0にてサイトローテーションバナーを制作しております。 ムービークリップ「btn1_mc」をクリックするとフラッグ「scene1」を再生し、 「btn1_mc」にポインタが乗った時は一定時間停止し、再生されるという動きを作りたいのですが、初心者のため、うまくActionScriptが書けません。 setTimeout関数を使えば良いということはわかったのですが… 下記コードに書き加え、実装する方法を教えていただければ助かります。 よろしくお願いします。 btn1_mc.addEventListener(MouseEvent.CLICK,btn1Click); btn1_mc.addEventListener(MouseEvent.ROLL_OVER,btn1Over); btn1_mc.addEventListener(MouseEvent.ROLL_OUT,btn1Out); btn1_mc.buttonMode=true; function btn1Click(evt:MouseEvent):void{ gotoAndPlay("scene1"); } function btn1Over(evt:MouseEvent):void{ gotoAndStop("scene1"); btn1_mc.gotoAndStop(2); } function btn1Out(evt:MouseEvent):void{ gotoAndPlay("60"); btn1_mc.gotoAndStop(1); }

  • ActionScript3.0の質問です

    このようなプログラムも考えました。 デバッグではエラーは出ませんでしたが、論理的、プログラム的に問題はありますでしょうか? function fl_GenerateRandomNumber(limit:Number):Number { var randomNumber:Number = Math.floor(Math.random()*(limit+1)); return randomNumber; } var xxx:Number=fl_GenerateRandomNumber(3); Button_1.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrameButton); function fl_ClickToGoToAndStopAtFrameButton(event:MouseEvent):void { if(xxx==0) {this.gotoAndStop(3);} else {this.gotoAndStop(7);} } function fl_GenerateRandomNumber2(limit:Number):Number { var randomNumber:Number = Math.floor(Math.random()*(limit+1)); return randomNumber; } var xxx2:Number=fl_GenerateRandomNumber2(3); Button_2.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndStopAtFrame2Button); function fl_ClickToGoToAndStopAtFrame2Button(event:MouseEvent):void { if(xxx2==1) {this.gotoAndStop(4);} else {this.gotoAndStop(7);} }

    • ベストアンサー
    • Flash

専門家に質問してみよう