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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   とにかくFLASH【FLASHに関して全般】
     SWF間の変数のやりとりってできますか?
投稿するにはまず登録を

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Pierce
Åê¹ÆNo.22312
投稿日時: 2005-12-18 20:28
新米
居住地:
投稿: 6
使用環境:
Windows XP Professional
Flash MX Version 6.0
Re: SWF間の変数のやりとりってできますか?
失礼いたしました。

頭ではわかっていたのですが、若干混乱していて変数と書いてしまいました。
ターゲットパスは理解しているつもりです。
変数がプロパティを持つはずありませんしね。。。
ひろゆき
Åê¹ÆNo.22309
投稿日時: 2005-12-18 19:00
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: SWF間の変数のやりとりってできますか?
引用:
Pierceさんは書きました:
今まで、ムービークリップはライブラリの中にあるべき物(?)だと思っており、ムービークリップという変数があることは全然知りませんでした。
b_mc.loadMovie("b.swf")と書くにあたり、何かムービークリップを作り、b_mcとインスタンス名をつけなければならないと考えていたため、勘違いをしていたようです。

ムービークリップと呼ばれる変数はないと思うんですが。
Movieclip.loadMovie() を用いるのであれば、インスタンス名をつける必要があります。

引用:
b_mc というムービークリップ・インスタンスに読み込むと仮定しました。
引用:
b_mc というムービークリップを _root に配置した上で
b_mc.loadMovie("b.swf");
とすれば、
変数のやりとりはできるでしょう。
と、お書きいたしました。

b_mc は、ムービークリップのインスタンス名ですよ。
シンボルとインスタンス

b_mc.p というのを見て、b_mc は変数?とか思っていらっしゃいますか?

b_mc というムービークリップ・インスタンス上に、変数 p を設定した場合、
この 変数 p をどこか別の階層から参照したいことがあるわけですね。

そのとき、どこどこの変数というように、
場所(ターゲットパス)と変数名を指定する必要がある場合があります。

なので、a.swf の _root に
b_mc.loadMovie("b.swf");
と記述した場合、
a.swf
	|_ b_mc <-- b.swf
という構造になっているわけですから、
引用:
b.swf 上の変数 p は、a.swf から見ると、b_mc.p です。
とお書きいたしました。

このときの b_mc.p の「b_mc」は、変数の一部なのではなく、
ムービークリップの場所(階層)を指し示すターゲットパスです。


----------------
質問する際は、回答者に具体的な情報を与えてください。

Pierce
Åê¹ÆNo.22305
投稿日時: 2005-12-18 12:19
新米
居住地:
投稿: 6
使用環境:
Windows XP Professional
Flash MX Version 6.0
Re: SWF間の変数のやりとりってできますか?
大変丁寧に説明していただき、ありがとうございます。

今まで、ムービークリップはライブラリの中にあるべき物(?)だと思っており、ムービークリップという変数があることは全然知りませんでした。
b_mc.loadMovie("b.swf")と書くにあたり、何かムービークリップを作り、b_mcとインスタンス名をつけなければならないと考えていたため、勘違いをしていたようです。

ひろゆきさんと野中文雄さんの丁寧な説明とご紹介いただいたサイトのおかげで読み込むことができました。
今現在は、読み込んだswfのActionScriptで_rootを多用しており、そのあたりの調整をしています。

ひろゆきさんと野中文雄さん、このような質問に付き合っていただき大変ありがとうございます。
野中文雄
Åê¹ÆNo.22261
投稿日時: 2005-12-16 22:07
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: SWF間の変数のやりとりってできますか?
「b_mc」というのは、a.swfを書出したドキュメントファイルa.flaのメインタイムライン(_root)上に配置したムービークリップシンボルのインスタンスで、"b_mc"とインスタンス名をつけたものです。

Flashコンテンツは、メインタイムライン(_root)を起点とするタイムライン(MovieClip)の階層構造で作成されます。したがって、多くのスクリプトでは、その制御対象となるタイムライン(MovieClip)をターゲットとして指定する必要があります。これが、「ターゲットパス」という概念です。
引用:
Pierceさんは書きました:
自分がわからないのは、
引用:
a.swf
|_ b_mc <-- b.swf

と書かれたところで、b_mcというものが何なのかがさっぱりわかりませんでした。

今回のご質問の場合には、「リファレンスデータ型」というのは関わってこないように思われます。それとも、渡したい変数値が「リファレンスデータ型」なのですか?
引用:
Flashにおける変数について理解が足りず、「変数=数値や文字を格納するもの」という固定観念で見ていたため、リファレンスデータ型というものを理解していませんでした。

Pierceさんは、以下のフレームアクションを記述されました。
_root.loadMovie("b.swf")
これはメインタイムライン(_root)をターゲットとして、外部SWFファイル"b.swf"をロードするということです。それに対してひろゆきさんは、メインタイムラインでなく、_rootに配置したMovieClip、仮に名前をb_mcとして、そのインスタンスをターゲットにした方がよいのではないかというアドバイスをされているわけです。
引用:
ひろゆきさんは書きました:
b_mc というムービークリップを _root に配置した上で、
b_mc.loadMovie("b.swf");
とすれば、

このあたりの意味合いがまだよくおわかりにならないということでしたら、まず「ターゲットパス」から基本的な概念について勉強された方がよいと思います。ターゲットパスを理解せずにスクリプトを書くのは、東西南北がわからずに地図を読むのに等しい。それほど大切な事項です。
引用:
基本的な部分からFlashについて勉強してなおしてきます。


----------------
 

ひろゆき
Åê¹ÆNo.22256
投稿日時: 2005-12-16 21:25
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: SWF間の変数のやりとりってできますか?
引用:
a.swfのフレームアクションで_root.loadMovie("b.swf")と指定しています。

これだと、_root と b.swf が置き換わってしまうので、
変数のやりとりはできなくなると思います。

なので、

_root のフレームアクションに
this.createEmptyMovieClip("b_mc", 1);
b_mc.loadMovie("b.swf");
とするか、

b_mc というムービークリップを _root に配置した上で、
b_mc.loadMovie("b.swf");
とすれば、

変数のやりとりはできるでしょう。


引用:
「変数=数値や文字を格納するもの」という固定観念で見ていたため、リファレンスデータ型というものを理解していませんでした。

というより、ムービークリップとターゲットパスの学習をされた方がよろしいかと。


----------------
質問する際は、回答者に具体的な情報を与えてください。

Pierce
Åê¹ÆNo.22253
投稿日時: 2005-12-16 21:12
新米
居住地:
投稿: 6
使用環境:
Windows XP Professional
Flash MX Version 6.0
Re: SWF間の変数のやりとりってできますか?
大変失礼いたしました。

自分がわからないのは、
引用:
a.swf
|_ b_mc <-- b.swf

と書かれたところで、b_mcというものが何なのかがさっぱりわかりませんでした。
Flashにおける変数について理解が足りず、「変数=数値や文字を格納するもの」という固定観念で見ていたため、リファレンスデータ型というものを理解していませんでした。

基本的な部分からFlashについて勉強してなおしてきます。
お騒がせして大変申し訳ありませんでした。
野中文雄
Åê¹ÆNo.22211
投稿日時: 2005-12-15 22:24
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: SWF間の変数のやりとりってできますか?
アドバイスや紹介されたドキュメントなどには、一応は目をとおして、そのうえで目的にそぐわないとか、意味がわからない部分があればその旨をお答えにならないと、なかなか話が先に進みませんよ。
引用:
Pierceさんは書きました:
a.swfのフレームアクションで_root.loadMovie("b.swf")と指定しています。

引用:
ひろゆきさんは書きました:
アカウント編集」で、使用環境は書いておきましょう
プロフィール・使用環境記入のお願い

情報としてはひろゆきさんがご紹介されたふたつのドキュメントに加えて、「loadMovie使用時のパス指定」をご覧になれば、必要なポイントはほぼカバーされていると思います。さらに、もし変数について理解が不十分でしたら、併せて「変数」をお読みください。
引用:
詳しくは、
Flash ActionScript Helper: ターゲットパス
をどうぞ。

引用:
ひろゆきさんは書きました:
FN0307007 - MovieClip.loadMovieで外部ファイルを読込む


----------------
 

Pierce
Åê¹ÆNo.22207
投稿日時: 2005-12-15 21:37
新米
居住地:
投稿: 6
使用環境:
Windows XP Professional
Flash MX Version 6.0
Re: SWF間の変数のやりとりってできますか?
失礼いたしました。
a.swfのフレームアクションで_root.loadMovie("b.swf")と指定しています。
ひろゆき
Åê¹ÆNo.22203
投稿日時: 2005-12-15 18:52
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: SWF間の変数のやりとりってできますか?
引用:
a.swf内でb.swfをloadMovieで呼び出し

とありましたが、loadMovie はお使いになったことがおありですか?

もし、おありなのであれば、そのときは、どのようなスクリプトを書かれましたか?


loadMovie とひとことで言っても、
loadMovie("b.swf", "MovieClip");
MovieClip.loadMovie("b.swf");
loadMovieNum("b.swf", 1);
などがありますね。

b.swf をどこに読み込むのかを明示されておられませんでしたので、
一般的だと思われる2つめのスクリプトで、
b_mc というムービークリップ・インスタンスに読み込むと仮定しました

FN0307007 - MovieClip.loadMovieで外部ファイルを読込む


----------------
質問する際は、回答者に具体的な情報を与えてください。

Pierce
Åê¹ÆNo.22202
投稿日時: 2005-12-15 18:44
新米
居住地:
投稿: 6
使用環境:
Windows XP Professional
Flash MX Version 6.0
Re: SWF間の変数のやりとりってできますか?
大変、丁寧な説明ありがとうございます。
説明の中で1箇所わからないところがあったのですが、b_mcとは何かのインスタンス名なのでしょうか?
質問ばかり何度も申し訳ありません。
(1) 2 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ

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