メイン コーダーズルーム【スクリプト系】 1行ニュース作成 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
hanamoti | Åê¹ÆNo.7693 投稿日時: 2004-5-28 15:31 |
新米 居住地: 投稿: 3
使用環境:
WinXp,FlashMX |
1行ニュース作成 ボタンと題名があって、
題名の部分がアニメーションで次々と入れ替わり、 ボタンを押すとそのニュース記事のサイトを開く というものを作成しようと考えています。 題名、アドレスはテキストファイルに 記録されているものを読み込むつもりです。 test1=題名1,http://www.test1.ne.jp&test2=... (最大5件) ステージに UIcomponentsボタン(?)1つと、 ムービークリップを5つ設置しました。 ムービークリップの中にはダイナミックテキストが 設置してあって、それぞれのテキストに 読み込んだファイルから「題名」が入ってます。 残る「ボタンを押したときにページを開く」という動作が よくわかりません…。 試してみたのは ステージにさらに、ダイナミックテキストを6つ設置して 1つは「ページを開く対象のURL」 残りの5つは「読み込んだファイルのURL情報の格納先」 として 5つあるムービーがそれぞれ、 アニメーションを始める時に 「ページを開く対象のURL」←「URL情報」と代入して ボタンを押したときに対象URLを読み込んで ページを開く、としようとしました。 ちぐはぐなことをしているかもしれませんが ご教授お願いします。 |
野中文雄 | Åê¹ÆNo.7694 投稿日時: 2004-5-28 16:14 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 1行ニュース作成 問題は切分けましょう。外部テキストファイルの読込みは、おできになったのですね? でしたら、この点はご質問と関係がありません。以下の代入文が実行されたのと、何ら変わりがないからです。
test1="題名1,http://www.test1.ne.jp"; // 外部テキストファイルの読込みはせず 引用: hanamotiさんは書きました: ダイナミックテキストを配置したMovieClipも、直接関係はなさそうです。ただ、「題名」を表示できたということは、変数test1から"題名1"というストリングを取出すこともおできになったということですね。 引用: ムービークリップの中にはダイナミックテキストが そうすると、同じ要領でURLの"http://www.test1.ne.jp"というストリングを、たとえば変数url_strに代入すればよいのではありませんか? Buttonコンポーネントには、つぎのMovieClipアクションを設定します(url_strのターゲットパスは、適宜設定してください)。
引用: 残る「ボタンを押したときにページを開く」という動作が URLを変数に取出せば済むことで、TextFieldに「表示」する必要はありません。何を疑問とされているのかが、よくわかりません。 引用: 試してみたのは ご質問の文章を拝見して感じた印象は、実際にサンプルを作成して試されてはいないように想像されます。実際に試してみると、わかったつもりの点があいまいだったり、難しく考えていたことが意外にできてしまったりするものです。 |
hanamoti | Åê¹ÆNo.7712 投稿日時: 2004-5-29 0:29 |
新米 居住地: 投稿: 3
使用環境:
WinXp,FlashMX |
Re: 1行ニュース作成 ご返信ありがとうございます。
不明な点は変数の取り扱いです。 ファイルを開いて、読み込みが終わってから 変数に値を代入しているのですが myLoadVars = new LoadVars(); myLoadVars.onLoad = function(bSuccess) { if (bSuccess) { 代入 } }; myLoadVars.load("test.txt"); 代入の部分で _global.url1=test1; としてもfunctionの外からは参照できませんでした。 (function内だと値は入っていました) 入らない理由がわからなかったので とりあえずダイナミックテキストに値をほりこんでおいて 作業するときに、そこに入っている値を移動させようと考えていました…。 |
Kazutaka | Åê¹ÆNo.7713 投稿日時: 2004-5-29 1:47 |
新米 居住地: 東京 投稿: 13
使用環境:
Win2000 FlashMX FlashMX2004 Flash8 |
Re: 1行ニュース作成 こんにちは
引用:
_global.url1= this.test1; とやればうまくいくと思います。 下の用にテストして 値が入っていることを確認しました。 var oTarget = this; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(bSuccess) { if (bSuccess) { _global.url1= this.test1; oTarget.testTrace(); } }; myLoadVars.load("test.txt"); function testTrace () { trace(_global.url1); }
|
hanamoti | Åê¹ÆNo.7740 投稿日時: 2004-5-29 22:17 |
新米 居住地: 投稿: 3
使用環境:
WinXp,FlashMX |
Re: 1行ニュース作成 ご回答ありがとうございます。
原因が判明しました…。 シーンの再生(ファイルのオープン)と ムービークリップ1の再生(変数の取得)が 同時に行われ、なんかうまくいってなかったぽいです。 遅れて再生されるムービークリップ2から _global.url1を参照すると値が入っていました…。 ひょっとしたらまた勘違いしてるかもしれませんが そのときはよろしくお願い致します。 ありがとうございました。 |
野中文雄 | Åê¹ÆNo.7744 投稿日時: 2004-5-30 11:50 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 1行ニュース作成 状況がわかりました。
私の父はせっかちで、他人からの連絡をなかなかじっと待っていられません。待ちきれなくなると、相手にこちらから電話をかけてしまいます(相手にも、都合ってものがあるのですが)。それで、話し中だったりすると、待たずにまたすぐかけ直します。実は相手が折返しの電話をかけていた場合には、互いに話し中でつながらないという間抜けな事態に落ちいります。 つぎのスクリプトは、ちょうどそれと同じ状況です。trace()ステートメントから[出力]されるメッセージの順序を、確認してみてください。
[教訓] 電話が鳴る前に、受話器を取ってはいけません。 引用: hanamotiさんは書きました: データがいつロードし終わるかは、回線の速さや状態にもよります。「ムービークリップ2」が、かならずロード後に処理できる保証はありません。 そうすると、LoadVars.onLoadメソッドに定義した(コールバック)関数の中で処理する方が確実です。そうでなければ、(コールバック)関数中で読込み完了のフラグを設定し、変数値を取得する前にそのフラグを確認する処理にすべきでしょう。 引用: 遅れて再生されるムービークリップ2から |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |