• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:gotoAndStopが効かない)

gotoAndStopが効かない

このQ&Aのポイント
  • ActionScript3.0で、sub_base...をaddChildさせた後にgotoAndStop(1)を実行する際にシンタックスエラーが出る。
  • sub_base...のタイムラインをONとOFFで分けるために2フレームにしてstop()を実行しているが、効果がない。
  • 他の方法でsub_base...をaddChildした後にgotoAndStop(1)を実行する方法を知りたい。

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

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

普通に this["sub_base"+i]=new SubTitleBase(); mainBoard_mc.addChild(this["sub_base"+i]); this["sub_base"+i].gotoAndStop(1); ではうまく行かないのでしょうか? this["sub_base"+i] とは このタイムラインに置いた sub_base0 や sub_base1 など… という変数ですよ。 その sub_base0 や sub_base1 など… という変数に new な SubTitleBase インスタンスの参照を入れるということです。 「F-site [AS3] MovieClipインスタンスとインスタンス名」 http://f-site.org/articles/2008/04/19014939.html ↑じっくり読んで良く理解しないとわからないと思いますが。。。 というか ActionScript 3.0 になって Flash を始めた方には 何の抵抗も錯覚もないと思いますが それ以前に(ActionScript 2.0 以前に) Flash をしていると その経験や知識が逆に足をひっぱることになって混乱するのかもしれません。

nekoze-man
質問者

お礼

出来ました!! プロパティから「1フレーム目に書き出し」にチェックを入れたらうまくいきました! いつもありがとうございます!! 教えてくれたURLからも勉強します!!

nekoze-man
質問者

補足

ご返信ありがとうございます! this["sub_base"+i].gotoAndStop(1); でもやってみたのですが、エラーはでないのですが、this["sub_base"+i]のなかで1フレームと2フレームがずっとループしていてチカチカなってしまいます。 .gotoAndStop(1)が効いていない状態です。 質問の時に詳しく書いていなかったのですが、これクラス定義で別ファイルに書いてあるのですが、それは関係あるのでしょうか? まだ途中なのですが全部書くとこんな感じで書いてあります。 なにか分かればよろしくお願いします!! package { import flash.display.Sprite; import flash.display.MovieClip; import flash.events.Event; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.text.TextField; import flash.text.TextFieldAutoSize; public class Player extends MovieClip{ var mainBoard_mc:MovieClip; var soundTitles:Array; var soundFiles:Array; var sub_base0:SubTitleBase; var sub_base1:SubTitleBase; var sub_base2:SubTitleBase; var sub_base3:SubTitleBase; var kanri_array:Array; function Player(board,titles,files){ mainBoard_mc=board; soundTitles=titles; soundFiles=files; init(); } function init():void{ this.addChild(mainBoard_mc); var sub_titleTF:TextFormat = new TextFormat(); sub_titleTF.font="MS Pゴシック"; sub_titleTF.size=13; sub_titleTF.align=TextFormatAlign.LEFT; sub_titleTF.color=0x000000; kanri_array=new Array(); for(var i:Number=0;i<soundTitles.length;i++){ this["sub_title"+i] = new TextField(); this["sub_title"+i].defaultTextFormat=sub_titleTF; this["sub_title"+i].wordWrap=false; this["sub_title"+i].width=100; this["sub_title"+i].autoSize=TextFieldAutoSize.LEFT; this["sub_title"+i].border=false; this["sub_title"+i].text=soundTitles[i]; var num:Number=i; kanri_array.push(this["sub_title"+i]); kanri_array.name=String(num); this["sub_base"+i]=new SubTitleBase(); mainBoard_mc.addChild(this["sub_base"+i]); this["sub_base"+i].gotoAndStop(1); } } } }

関連するQ&A