- 締切済み
forの中にいれたcreateTextの使い方
はじめまして、 内容をまとめて書いてあるテキストがあり、これを変数に入れて分割したものを画面に表示させたいのですが、表示するところがうまくいきません。 createTextの書き方がおかしいと思うのですがどこを書き換えればいいのかわかりません。 すいませんがどなたかお教え願えないでしょうか。 var text1=new LoadVars(); text1.load("test.txt") text1.onLoad=function(){ var test_array:Array=text1.split(","); for(var i=0;i<test_array.length;i++){ this.createTextField("c"+[i],this.getNextHighestDepth(),50,20+i*20,200, 20); this.c[i].text =test_array[i]; } 多分thisのあたりがおかしいと思っているのですが、どう書けばいいのかわかっていません。 すいませんがどなたかお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- BlurFiltan
- ベストアンサー率91% (1611/1754)
#1&2です。 いや,またまたすみません。 var test_array:Array は LoadVarsインスタンスの中に作成されていますね。 this.createTextField("c"+[i],this.getNextHighestDepth … ↓ 変更 ↓ _root.createTextField("c"+i,this.getNextHighestDepth … this.c[i].text =test_array[i]; ↓ 変更 ↓ _root["c"+i].text =this.test_array[i]; ではないかと思います。 #2の繰り返しになりますが, データなどがなく,現状やしたいことがわからないので,#1も#2も検証していません。 単に考えてみただけです。 LoadVarsからの相対パス指定は難しいことは確かです。
- BlurFiltan
- ベストアンサー率91% (1611/1754)
#1です。 いや,すみません。 この場合の this は text1 になりますから, this.createTextField("c"+[i],this.getNextHighestDepth … ↓ 変更 ↓ _root.createTextField("c"+i,this.getNextHighestDepth … this.c[i].text =test_array[i]; ↓ 変更 ↓ _root["c"+i].text =test_array[i]; のようになるのではないかと思います。 データなどがなく,現状やしたいことがわからないので,#1も#2も検証していません。 単に考えてみただけです。 LoadVarsからの相対パス指定は難しいことは確かです。
- BlurFiltan
- ベストアンサー率91% (1611/1754)
this.createTextField("c"+[i],this.getNextHighestDepth … ↓ 変更 ↓ this.createTextField("c"+i,this.getNextHighestDepth … this.c[i].text =test_array[i]; ↓ 変更 ↓ this["c"+i].text =test_array[i]; ではないかと思いますが。
お礼
返答ありがとうございます。 thisが便利だったのでそのまま使ってました。 Flashは初めてなのでそこらへんも勉強しながらやっていきたいと思います。 変数を適当に変えたり、どういう操作をしたいのか書かずに失礼しました。最近話題の某動画サイトのコメント機能を再現してみたいと思い少しづつ作っていました。 BlurFiltanさんに従って書き直してみたのですが、最後の結果しか表示されません。 例えば test_array[]に[a1,b2,c3]と3つが入っている場合 画面では a1 b2 c3 といった風に表示させたいのですが、なぜかc3しか表示されないのですがこれはどこが間違っているのでしょうか。 よろしければどなたかお教え下さい。