トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     _urlで取得した内容がHTMLから呼び出すと反映されません。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.13586
投稿日時: 2004-12-22 14:19
_urlで取得した内容がHTMLから呼び出すと反映されません。
メインのmenu.swfのムービークリップstageに
他のファイルを読みこんで、

menu.swfの各コンテンツ部分に_urlでswfファイルの名前を取得して頭の数字を条件分岐で区分して、対応するコンテンツを赤く表示させる。

という事をしたいのですが、swf間の表示だとうまく行くのですが
htmlから呼び出すとうまく行きません。
どなたかわかる方いましたら教えていただけないでしょうか?
salvox
Åê¹ÆNo.13666
投稿日時: 2004-12-26 18:27
常連
居住地: 東京都
投稿: 73
使用環境:
Windows2000
FlashMX
テキストエディター:EmEditor
Re: _urlで取得した内容がHTMLから呼び出すと反映されません。
ど?も、Salvoxです。

う??ん、がんばって考えたんですが、
状況が見えてきません…。


引用:
メインのmenu.swfのムービークリップstageに他のファイルを読みこんで

↑多分、stageという言葉が混乱を招いてると思います。
『menu.swfのムービークリップに他のファイルを読みこんで』
が、言いたいことですね。

menu.swfの各コンテンツ部分に_urlでswfファイルの名前を取得して頭の数字を条件分岐で区分して、対応するコンテンツを赤く表示させる

↑『各コンテンツ部分に_urlでswfファイルの名前…』が
著しく問題をややこしくしてる原因です(^^)。
恐らく言いたいことは、

『その(loadMovieでロードした)MCの_urlから、
ファイル名だけを検出し、ボタンを押されたら対応する
ファイル名のMCが赤く光るようにしたいんです』

ですね(^^)。
ここまでは、O.K。

で、僕が分からないのが
引用:
swf間の表示


引用:
htmlから呼び出し


多分、言いたいことは、
前者がスタンドアローンのPlayerで再生した場合で、
後者がブラウザーで再生した場合ですかね?

このSWF間とはどのSWF間を指してるのでしょう?
質問には2タイプのSWF間が存在しているので、
どっちか分かりません。
(menu.swf?loadしたswf間)
(スタンドアローンPlayerとmenu.swf間を
総称としてswf間と定義してる?)


どちらにせよ、↑の構造を僕の頭の中で組む限りでは
どちらも、うまく動作します。

ただ

loadMovieで呼び出すのだから、ファイル名の
摘出アルゴリズムは不要のように感じるのですが・・・。
だって、loadMovieをコールする時点で既にファイル名は
分かってるんでしょ?

多分、読み込まれる順番がバラバラだからですね。
そこのアルゴリズムの改善で文字列演算しくて済みますよ。

ヒントは、
・ロードするということは、mcになるということ。
つまり、ターゲットパスで識別できます。

・ロード中に表示させようとするとから、読み込む順番が
ランダムになるのではないですかね?

多分、ボタンからのナビゲーションがあるってことは
ロードされるMCの数が有限じゃないですか?

そして、ボタンはロードされるMCを知ってなければ
ならないはずですよね?

つまり、ボタンとMCとの関係はどんな状態でも一定である。
むしろ一定でなければ、バグです。

っということは、

  1.最初にロードされるMC用にダミーのMCを作っておいて。
  2.ボタンには、そのダミーへのパスを保持させる。
  3.ロードされるswfはダミーMCの中へ落とし、
    可能ならロードされたMCのインスタンス名が同じになる状態にする。
  4.ロードは画面外の見えない領域でおこない。
  5.ロード完了後、画面内に配置する。
    end

です。


   dammyMC構造です。
   ------------------------------------   
   dammy[1?x]の中に(※1)
      → swf_mc(これもダミー)がある。
  
   loadMovieは
   _root.dammy[1?x].swf_mc.loadMovie(ファイル名);(※2)
   ------------------------------------   
   これで、ロードされるSWFのインスタンス名は
   どんなボタンからみても同じになります。(※)

   ※1 dammy[1?x]ってのは、dammy1,dammy2,,etc

   ※2 ターゲットパスがやたら長い場合は一時的に変数に保持したりすると楽っす。例えば

      var swfTarget = _root.dammy[1?x].swf_mc;
          swfTarget.loadMovie(ファイル名);

   ※3 もちろんボタンから参照される dammy[1?x]っていうのは変わりますよ。これは、dammy[1?x]の中にネストされてるMCのインスタンス名を統一する為です。処理内容によっては別にネストらしなくて良いっす。

    // う??ん、出血大サービス
    // これ以上組むとお金を請求しなきゃいかんので(笑)(^^)
    ボタンの中身
    on(press){
      var swfDammy = _root.dammy[1?x].swf_mc;
      var mycolor = new Color(swfDammy);
          mycolor.setRGB(赤);
    }


----------------
(C)SalvoxStudioStation

ゲスト
Åê¹ÆNo.13691
投稿日時: 2004-12-28 12:38
Re: _urlで取得した内容がHTMLから呼び出すと反映されません。
salvoxさん細かな指導ありがとうございました。
原因はswfの名前を取得する際に"/"で判別させていたため、ローカルではパスに"/"が見つからず、_urlが動いていないためでした。なので、判別に使う記号を"."に変えて解決しました。
またなにかありましたら、宜しくお願いします。
Fla4man
Åê¹ÆNo.13696
投稿日時: 2004-12-28 15:00
職人
居住地: かまくら
投稿: 517
使用環境:
WinMe,Win2000,
Flash4,アズさん,大仏、delphi
Re: _urlで取得した内容がHTMLから呼び出すと反映されません。
本題とは関係ないけれど
以前「フォルダー取得関数」を作ったとき
うしろから一文字ずつとっていき
「\ 」or「/」でやりました。


----------------
通常のハンドル名:×○○× ねた回収モードに突入 現在1/100

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops