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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     読み込んだtxtを配列に入れたい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.46711
投稿日時: 2011-1-5 14:37
読み込んだtxtを配列に入れたい
ActionScript2.0で作っています。

↓.txtの中身↓

//名前
display=yes
文章(1行)
http://aaa.co.jp
...image/a/a.jpg

EOF

です。上記の上4行の中身は1行空白を空けて下に繰り返されます。最後にEOFが付いています。

配列は2次元配列です。
上の4行単位で1行に格納します。
宜しくお願いします。

ひろゆき
Åê¹ÆNo.46713
投稿日時: 2011-1-5 14:55
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 読み込んだtxtを配列に入れたい
改行コードで、区切ればいいのでは?

String.split() を調べてみては?


参考までに。
改行コードを統一する (1)
改行コードを統一する (2)


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

ゲスト
Åê¹ÆNo.46714
投稿日時: 2011-1-5 15:02
Re: 読み込んだtxtを配列に入れたい
ありがとうございます。
具体的に書きます。

↓.txtの中身↓
----------------------
//名前
display=yes
文章(1行)
http://aaa.co.jp
...image/a/a.jpg

EOF
----------------------

です。上記の意味は、
1.名前
2.表示するかしないか。
3.文章
4.リンク先
5.画像のパス
です。最終的には、
http://www.apple.com/
アップルの真中にある、横長のものを作りたいです。

上記の上4行の中身は1行空白を空けて下に繰り返されます。最後にEOFが付いています。
上記の.txtを読み込んで、配列に入れたいです。
配列は個人的には2次元配列で使いたいです。

現在は、
***************

//文字化け対策
System.useCodepage=true;

//LoadVars クラスをインスタンス化
var vars = new LoadVars ();
//--------------------------------
//テキスト読込み
vars.load("shop_info.txt");
//--------------------------

//ファイル読込みができた時に一度だけ実行
vars.onData = function(buf){
if(buf != null){
trace(buf);
stop();
}else{
trace("エラー");
stop();
}
}
//--------------------------------
***************

上記までできています。テキストは読み込めました。

説明不足な部分があれば教えてください。
宜しくお願いします。
ひろゆき
Åê¹ÆNo.46715
投稿日時: 2011-1-5 15:09
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 読み込んだtxtを配列に入れたい
ご自分で学習されるおつもりはありなのでしょうか?

「したい」ことを書き連ねるだけなのは、丸投げをして、
ご自身で解決しようとされるようには見えません。

少なくとも、String.split()を調べ、そのスクリプトがどのようなものなのか、
確認したけれども、この部分が分からないとか、
それくらいはなさるべきでしょう。


また、テキストの読み込みについても、どの程度理解されておられるのでしょう?
「変数=値」形式のテキストを読み込んで、onDataで処理するのは、何か特殊な事情があるのでしょうか?


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

ゲスト
Åê¹ÆNo.46716
投稿日時: 2011-1-5 15:18
Re: 読み込んだtxtを配列に入れたい
言葉足らずで本当にすみません。
ひろゆき
Åê¹ÆNo.46717
投稿日時: 2011-1-5 15:27
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 読み込んだtxtを配列に入れたい
画像も同時に表示することを前提にされているのであれば、
外部テキストを読み込むより、外部XMLを読み込む方が良いように思いますが、
そのあたりについても、特殊な事情がおありなのでしょうか?

「テキストを表示する」ことが目的なのであれば、「画像のパス」等は不要だと思いますし、
もし、画像を表示することを前提にされていたとしても、一度に多くのことに取り組みすぎで、
目的は到底到達できないでしょう。

ご自分が何につまずいていて、何を質問なさりたいのか、明確にすべきです。
そうすると、質問する前提としての data.txt の中身は不適切だと分かると思いますが。


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

ひろゆき
Åê¹ÆNo.46718
投稿日時: 2011-1-5 15:28
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 読み込んだtxtを配列に入れたい
String.split()を調べてみましょう。と申し上げたと思いますが、
ご自分でヘルプなどはご覧になられないのでしょうか?


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

ゲスト
Åê¹ÆNo.46719
投稿日時: 2011-1-5 15:41
Re: 読み込んだtxtを配列に入れたい
splitを調べました。
区切る事に成功しました。

txtの理由は使用で決められているので変更はできません。
画像もテキストも同時に読込みしないといけません。
ひろゆき
Åê¹ÆNo.46720
投稿日時: 2011-1-5 16:02
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 読み込んだtxtを配列に入れたい
引用:
k_fukuさんは書きました:

txtの理由は使用で決められているので変更はできません。
画像もテキストも同時に読込みしないといけません。

同時に読み込まなければならないとしても、
テキストに絞って質問されないと、単なる丸投げですね。
どこか外注先をお探しになった方が良いように思います。


外部テキストを読み込んで、表示するスクリプト例

ステージ上にテキストフィールド(インスタンス名: txt [ダイナミックテキスト])を配置。
第1フレームに以下のスクリプトを記述。
var CR:String = String.fromCharCode(13);
var LF:String = String.fromCharCode(10);
var txtlist:Array;
var txtId:Number = 0;
var transitId:Number;

var loadvars:LoadVars = new LoadVars();
loadvars.onData = function(src:String):Void {
	if (src) {
		parse(src);
	}
};
loadvars.load("data.txt");

function parse(src:String):Void {
	var str:String = unifyLineFeedCode(src);
	var list:Array = str.split(LF);
	if (list[list.length - 1] == "") list.pop();
	txtlist = list;
	start();
}
function unifyLineFeedCode(str:String):String {
	str = str.split(CR+LF).join(LF);
	str = str.split(CR).join(LF);
	return str;
}
function start():Void {
	show(txtId);
	transitId = setInterval(this, "transit", 1000);
}
function transit():Void {
	txtId = (txtId + 1)%txtlist.length;
	show(txtId);
}
function show(id:Number):Void {
	txt.text = txtlist[id];
}

data.txt
テキスト1テキスト1
テキスト2テキスト2テキスト2
テキスト3
#3行目の終わりにも改行コードあり。


デバイスフォントは、通常の方法では、アルファが効かないので、
テキストのフェードイン・フェードアウトに関するスクリプトについては、割愛。


LoadVars.loadで読み込む
MovieClipLoaderで読み込む
も参考まで。


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

ゲスト
Åê¹ÆNo.46721
投稿日時: 2011-1-5 16:13
1次元配列のテキストを順番に表示したい。
丸投げのようになってしまって、すみません。
(1) 2 3 4 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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