- 締切済み
fhashフルブラウザサイトのページ移動で困ってます、、
フルブラウザの固定配置サイトを勉強してます。【CS4、AS3】 過去掲載http://oshiete1.goo.ne.jp/qa5140171.html を参考にさせてもらってます。 TOPページはうまくいったのですが ページ移動で別のページにいくと背景画像(TOPと別画像)が原寸表示になってしまいます、、(なぜかブラウザ画面自体をさわると直るのですが) 当方の浅い考えでは 各背景画像MCのインスタンス名を同じ「back_mc」にしているからと思っていますが、そうしないと表示もできません、、 どなたか教えてください。 よろしくお願いします。 以下は1フレーム目に書いているソースです。 添付はフレーム画面です。 stage.scaleMode = StageScaleMode.NO_SCALE; stage.align=StageAlign.TOP_LEFT; var bw:Number = back_mc.width; var bh:Number = back_mc.height; function arrangeMC():void{ var sw:int = stage.stageWidth; var sh:int = stage.stageHeight; //以下固定配置分 contents_mc.x = sw/24; contents_mc.y = sh/2+20; menu_mc.x = sw-60; menu_mc.y = sh/2-30; footer_mc.y = sh-10; if(bh/bw > sh/sw){ back_mc.width = sw; back_mc.height = bh/bw*sw; }else{ back_mc.height = sh; back_mc.width = bw/bh*sh; } } arrangeMC(); function stageOnResize(evt:Event):void { arrangeMC(); } stage.addEventListener(Event.RESIZE, stageOnResize);
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- H240S18B73
- ベストアンサー率65% (190/288)
#1です スイマセン、多分ちょっとズレてましたね いくら同じMC内の同じ名前であっても 違うシンボルのインスタンス 違うキーフレームに置かれているインスタンスは別物です どっかのキーフレームのback_mcがリサイズされたところで ほかのback_mcのサイズはそのままです なのでページ移動でgotoAndStopして 背景のback_mcが別のものになったときにも arrangeMC()を実行せねばならない訳ですが ここでレス1の問題がでてくるワケです back_mcが別のクラス(シンボル)の インスタンスに入れ替わるとき gotoAndStopした直後には一時的に back_mcはなくなってしまうんです だからback_mcの入れ替えを待つか あるいはback_mcを入れ替えしなくても いいようにしようというわけです
- H240S18B73
- ベストアンサー率65% (190/288)
タイムラインに途中から出現した インスタンスはgotoAndStop直後にはアクセスできません 一度ENTER_FRAMEもしくはインスタンスのADDED_TO_STAGEを 待ってからフルスクリーンのメソッドを実行してください とはいえアクセスできないのでは ADDED_TO_STAGEのリスナー登録も しようがないので前者でやることになりますが 一瞬だけリサイズされてない状態のフレームが出現する事になります そのあたりは初期位置を画面外に置くなりして 適宜対応してください どうしても気に入らないときは各back_mcに タイムライン以外からアクセスできるようにするか あるいは同じMCの中に各背景を入れて 適宜gotoAndStopする作りにするかです
お礼
回答ありがとうございます! ただ当方の知識では完全に理解できず・・・ 一番実現しやすいのは >あるいは同じMCの中に各背景を入れて >適宜gotoAndStopする作りにするかです だと思ってback_mc内にすべてを入れ込みましたが 「未定義のプロパティback_mcのアクセス」と表示されてしまいます。 メインフレームにフルスクリーン、固定配列のasを書いて ムービークリップ1つに各ページgotoAndStopをする、、 ということだと思うのですがどうもうまくいきません。 恐れ入りますが具体的に教えていだければありがたいです。 何度もすいません、よろしくお願いいたします。