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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     外部テキストの読み込みの手順はこれで?
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
chapmania
Åê¹ÆNo.8184
投稿日時: 2004-6-10 15:12
新米
居住地:
投稿: 12
使用環境:
Mac OS10.3.9/Flash MX
使用ブラウザ:
Safari1.3.1(メイン), FireFox1.0.3, Netscape7.1, IE5.2.3forMac, Opera8.01
外部テキストの読み込みの手順はこれで?
現在少しずつActionScriptを覚えようとしているところです。
先日初めて「外部のテキストファイルを読み込む」ことに挑戦しました。
手順は以下の通りです。

1. シーン1の1フレーム目にテキストボックスを作りました。
設定は「ダイナミックテキスト」インスタンス名「textbox」「複数行」変数「text」としました。
2. シーン1の1フレーム目に以下のActionScriptを書きました。
System.useCodepage = true;
loadVariables("sample.txt", "textbox");
3. パブリッシュ(バージョンは「Flash6」にしました」して,「test.swf」と「test.html」ができました。
4. 同じ階層に以下のような内容の「sample.txt」を作成しました。
text=読み込み用テキスト

これで「test.html」をブラウザで表示させてみたのですが,読み込みはうまくいきませんでした。
いろいろなサンプルなどを見ていて,htmlの<PARAM VALUE="sample.swf">と<EMBED src="sample.swf">の書類名の最後に「?」をつけて変数を送るようなものを見かけたので(sample.swf?textfile=sample.txtのような感じです),試しに「?」だけをつけてみました。("sample.swf?")
すると読み込みが成功して,ちゃんと「test.swf」のテキストボックスの中に『読み込み用テキスト』と表示されました。

とりあえずうまくはいったものの,腑に落ちないのでどなたかご教示いただけないかと思って書き込みました。
*この方法で正しいのか?…参考にしたmacromediaのテクニカルノートなどには「?をつける」などという記述がなかったので,本来ならば「?」無しでも読み込めるのでは?と思っています。Flashでの作業段階でどこか間違っているのかなとも思いました。
*「?」の後に送るべきデータなど何もつけていないのに,なぜ成功したのか?…この場合の「?」に何の意味があるのか分かりません。

どの手順が違っているのか分からなかったので,すべてを長々と書いてしまいました。
どうぞよろしくお願いいたします。
ひろゆき
Åê¹ÆNo.8188
投稿日時: 2004-6-10 17:45
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 外部テキストの読み込みの手順はこれで?
なぜ、読み込みが成功してしまうのか、理由はわかりませんが、
次のページなどが参考になるかと思いますよ。

 loadVariablesloadVariablesNum

 ターゲットパス外部テキストファイルを読込む

this.loadVariables("sample.txt");
とすれば、読み込めると思います。
森 なおき
Åê¹ÆNo.8194
投稿日時: 2004-6-10 23:49
モデレータ
居住地: 福岡(心は大阪)
投稿: 527
使用環境:
:MacOSX10.6.8
:FlashCS5.5
Re: 外部テキストの読み込みの手順はこれで?
なおきです。

読み込めたのは偶然だと思います(^^;
すぐに読み込める訳ではないので、
読み込みと表示までに、それを考慮した
設計が必要です。
ローカルでテストしていると、表示できるので
気づきにくいミスでもあるのですが。

いずれにせよ、もっと基本を勉強しないと
いけない段階だと思うので、ひろゆきさんの
お薦めのページや書籍などで勉強されることを
お勧めしますよ。

それと、変数名にtextを使うことは避けるべきです。
また、テキストボックスにインスタンス名と変数名を
同時に定義していることは無意味です。
今回は、たまたまtextboxというインスタンスの
textプロパティに値が設定されたので、表示されただけです。


----------------
な お き
Dev.:MacOSX+FlashCS5.5
View:---

野中文雄
Åê¹ÆNo.8196
投稿日時: 2004-6-11 5:37
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 外部テキストの読み込みの手順はこれで?
すごい偶然ですね。珍しいものを見せていただきました。(^^;

loadVariables()関数の第2引数となるターゲットは、MovieClipインスタンス(あるいはレベル)とされています。本来TextFieldインスタンスをターゲットにして、外部テキストファイルのロードはできません。

外部テキストファイルの変数名がtextだったために、インスタンスtextboxのTextField.textプロパティと勘違いして設定されたのですね。
引用:
森 なおきさんは書きました:
読み込めたのは偶然だと思います(^^;
...
今回は、たまたまtextboxというインスタンスの
textプロパティに値が設定されたので、表示されただけです。

狙ってやったとしたら、大したものです。でも、知らずにやった場合は危険ですので、「ActionScript辞書」や参考書をきちんとご覧になった方がよいですね。


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

chapmania
Åê¹ÆNo.8203
投稿日時: 2004-6-11 14:24
新米
居住地:
投稿: 12
使用環境:
Mac OS10.3.9/Flash MX
使用ブラウザ:
Safari1.3.1(メイン), FireFox1.0.3, Netscape7.1, IE5.2.3forMac, Opera8.01
Re: 外部テキストの読み込みの手順はこれで?
ひろゆき様,森様,野中様,ご教示ありがとうございます。
やっぱり正しくなかったのですね。そのまま進まなくてよかったです。
今回いただいたアドヴァイスと教えていただいた頁などを参考にもう1度きちんとやりなおしてみます。
(散々web検索したつもりでしたのに,野中様のサイトを見落としてました。
これからどんどん参考にさせていただきます。)

引用:

すごい偶然ですね。珍しいものを見せていただきました。(^^;

loadVariables()関数の第2引数となるターゲットは、MovieClipインスタンス(あるいはレベル)とされています。本来TextFieldインスタンスをターゲットにして、外部テキストファイルのロードはできません。

知識と経験の浅さを露呈してお恥ずかしい限りです。
そうか。「とりあえずシンプルに試してみよう」とMovieClipを作るのをはぶいちゃったのは全く良くないことだったんですね。
「textを変数に使わない方がいい」というのも知りませんでした。
本当に御三方ともありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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