メイン コーダーズルーム【スクリプト系】 this["XYZ"] ;& eval("XYZ"); | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
tatsu | Åê¹ÆNo.9755 投稿日時: 2004-8-7 1:40 |
半人前 居住地: 名古屋 投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB Leopard10.6.4 WEB Premium CS4 + Flash CS5 |
this["XYZ"] ;& eval("XYZ"); いつもお世話になっております。また、
わからない事がありましたので投稿させて戴きました。 タイムラインには date_array[0] ? date_array[14] value_array[0] ? value_array[14] ステージには ダイナミックtextとして update_date0 ? update_date12(インスタンス名) update_value0 ? update_value12(インスタンス名) また、upnext_btn(インスタンス名) が存在します。 upnext_btnを押すごとにupdatePageの値を変更して update_dateXの値を変更したいと思っていたのですが upnext_btnを押しても値が変更されません。 原因を調べたところ以下の //::: bug ここから ::: 略 //::: bug ここまで ::: に原因があり trace(this["date_array["+(i+updatePage*13)+"]"] ); とすると未定義と出力されました。しかし、 trace("date_array["+(i+updatePage*13)+"]"); とすると date_array[13] 及び date_array[14] と 出力されます。 trace(eval("date_array["+(i+updatePage*13)+"]")); ともしてみましたがやはり未定義と出力されました。 なぜ未定義と出力されるのかわかりません。 どなたかお分かりになる方ご教授願います。 ちなみにAS2・Flash7で製作です。
|
野中文雄 | Åê¹ÆNo.9756 投稿日時: 2004-8-7 2:36 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: this["XYZ"] ;& eval("XYZ"); 原因を絞込まれたところまでは、結構です。しかし、問題はもっと「単純化」できるはずです。
引用: kahiroさんは書きました: 単純化したスクリプトは、つぎのようになります。
値が出力されるようにするには、たとえばつぎのようなステートメントを追加します。
しかし、[変数のリストアップ]をしてみると、アクセスしている値がどういうものなのか理解できると思います。 引用: [変数のリストアップ]: 引用: trace(this["date_array["+(i+updatePage*13)+"]"] ); おそらくこのような奇妙なアクセス方法に至ったのは、Buttonのイベントハンドラメソッドに定義したコールバック関数内のthis参照が理解されていないからではないかと推測します。
|
tatsu | Åê¹ÆNo.9762 投稿日時: 2004-8-7 15:16 |
半人前 居住地: 名古屋 投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB Leopard10.6.4 WEB Premium CS4 + Flash CS5 |
Re: this["XYZ"] ;& eval("XYZ"); btnのthis参照が関数内では自身を指すのをすっかり忘れていました 長々とscriptを書く必要が無かったですね(><) 引用:
|
tatsu | Åê¹ÆNo.9764 投稿日時: 2004-8-7 17:07 |
半人前 居住地: 名古屋 投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB Leopard10.6.4 WEB Premium CS4 + Flash CS5 |
Re: this["XYZ"] ;& eval("XYZ"); 解決したと思ったのですが以下のような結果に・・・
2行目と4行目は同じものを指していると思うのですがちがうのでしょうか?
|
tatsu | Åê¹ÆNo.9767 投稿日時: 2004-8-8 2:09 |
半人前 居住地: 名古屋 投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB Leopard10.6.4 WEB Premium CS4 + Flash CS5 |
Re: this["XYZ"] ;& eval("XYZ"); 自己解決しました。上記の疑問はわからないままですが以下のscriptで目的は達成しました。ありがとうございました。
|
野中文雄 | Åê¹ÆNo.9769 投稿日時: 2004-8-8 11:36 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: this["XYZ"] ;& eval("XYZ"); 違います。先にポストしたスクリプトは、試されましたか?
引用: 野中文雄は書きました: 引用: kahiroさんは書きました: あるいは、以下のスクリプトをお試しください。
引用: [変数のリストアップ]: さらに、もうひとつ。
|
tatsu | Åê¹ÆNo.9792 投稿日時: 2004-8-10 5:46 |
半人前 居住地: 名古屋 投稿: 53
使用環境:
MBP"17(C2D) 2.8Ghz,4GB Leopard10.6.4 WEB Premium CS4 + Flash CS5 |
Re: this["XYZ"] ;& eval("XYZ"); わざわざありがとうございます。
まったく別の変数になっているのですか・・・。 ・・・ややこしいです。 という事は、もしかしてeval関数を使って配列にはアクセスできないということですか? (ヘルプにeval関数ではオブジェクトにはアクセスできないと書かれてましたが・・・) |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |