メイン ActionScript 3.0 特設会議室 違う名前でテキストフィールドを複数生成したい | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
reimy | Åê¹ÆNo.44930 投稿日時: 2010-5-14 19:46 |
新米 居住地: 投稿: 10
使用環境:
Windows7 Flashのバージョン Flash CS3 ActionScriptのバージョン ActionScript3.0 |
違う名前でテキストフィールドを複数生成したい 配列xmlNameの値をfor eachで取り出して、その値のTextFieldを作成したいのですが、「1067: 型 flash.text:TextField の値が、関連しない型 Class に暗黙で型変換されています。」とエラーが出ます。
var xmlName = new Array("red", "green", "yellow"); for each (var k:String in xmlName){ k:TextField = new TextField(); } おそらく「k:TextField」の辺りがエラーらしいです(kという名前の TextFieldを作ろうとしているから?)が、どうすればred、green、yellowという名前のテキストフィールドを一括で複数生成できるでしょうか。for eachにはこだわりませんが、宜しくお願いします。 |
野中文雄 | Åê¹ÆNo.44932 投稿日時: 2010-5-14 23:15 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 違う名前でテキストフィールドを複数生成したい この書き方では、ひとつでも「生成」できません。文法をもう1度よくお確かめください。
引用: reimyさんは書きました: |
reimy | Åê¹ÆNo.44939 投稿日時: 2010-5-16 11:54 |
新米 居住地: 投稿: 10
使用環境:
Windows7 Flashのバージョン Flash CS3 ActionScriptのバージョン ActionScript3.0 |
Re: 違う名前でテキストフィールドを複数生成したい Fumioさんありがとうございます。
for文に改めました。 var Name = new Array("red", "green", "yellow"); for (var i=0; i<Name.length; i++) { Name[i] = new TextField(); stage.addChild(Name[i]); } ここまではエラーがでないですが しかし、Name[i]は変数名のはずなのに代入できないです。 red.text="test"; エラーは 1120: 未定義のプロパティ red へのアクセスです。となります。 むつかしですね。 |
野中文雄 | Åê¹ÆNo.44941 投稿日時: 2010-5-16 17:05 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 違う名前でテキストフィールドを複数生成したい 問題は単純化すべきです。今回の問題に「for文」は関係ありません。それが理解できるまで、余計な要素は外しましょう。
引用: reimyさんは書きました: 先に回答差上げたスクリプトの意味は、おわかりになりましたか。
「Name[i]は変数名のはず」はありません。「未定義のプロパティ red へのアクセス」というのは、redなどという変数は存在しないという意味です。
引用: しかし、Name[i]は変数名のはずなのに代入できないです。 「for文」も配列も一旦脇において、「変数」の定義について復習されることをお勧めします。 |
reimy | Åê¹ÆNo.45360 投稿日時: 2010-7-26 21:49 |
新米 居住地: 投稿: 10
使用環境:
Windows7 Flashのバージョン Flash CS3 ActionScriptのバージョン ActionScript3.0 |
Re: 違う名前でテキストフィールドを複数生成したい わかりました。
「変数」の定義について分かるまで勉強します。 いろいろお世話になりました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |