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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     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さんは書きました:
題名、アドレスはテキストファイルに
記録されているものを読み込むつもりです。
test1=題名1,http://www.test1.ne.jp&test2=...
(最大5件)

ステージに
UIcomponentsボタン(?)1つと、
ムービークリップを5つ設置しました。

ダイナミックテキストを配置したMovieClipも、直接関係はなさそうです。ただ、「題名」を表示できたということは、変数test1から"題名1"というストリングを取出すこともおできになったということですね。
引用:
ムービークリップの中にはダイナミックテキストが
設置してあって、それぞれのテキストに
読み込んだファイルから「題名」が入ってます。

そうすると、同じ要領でURLの"http://www.test1.ne.jp"というストリングを、たとえば変数url_strに代入すればよいのではありませんか? Buttonコンポーネントには、つぎのMovieClipアクションを設定します(url_strのターゲットパスは、適宜設定してください)。
on (release) {
    this.getURL(url_str, "_blank");  // 新規ブラウザウィンドウを開く場合
}

引用:
残る「ボタンを押したときにページを開く」という動作が
よくわかりません…。

URLを変数に取出せば済むことで、TextFieldに「表示」する必要はありません。何を疑問とされているのかが、よくわかりません。
引用:
試してみたのは
ステージにさらに、ダイナミックテキストを6つ設置して
1つは「ページを開く対象のURL」
残りの5つは「読み込んだファイルのURL情報の格納先」
として

ご質問の文章を拝見して感じた印象は、実際にサンプルを作成して試されてはいないように想像されます。実際に試してみると、わかったつもりの点があいまいだったり、難しく考えていたことが意外にできてしまったりするものです。


----------------
 

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=test1;

としてもfunctionの外からは参照できませんでした。

_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);
}


----------------
http://www.infective.jp/

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()ステートメントから[出力]されるメッセージの順序を、確認してみてください。
myLoadVars = new LoadVars();
// 読込み完了時に呼出す関数定義
trace("電話がきたら受ける準備をする");
myLoadVars.onLoad = function(bSuccess) {
    trace("相手から電話がくる");
    if (bSuccess) {
        _global.url1 = this.test1;
    }
};
// 外部テキストのロード
trace("相手に折返し連絡をくれるよう頼む");
myLoadVars.load("test.txt");
// もしこうすると...
trace("受話器を取る");
trace(_global.url1);

[教訓] 電話が鳴る前に、受話器を取ってはいけません。
引用:
hanamotiさんは書きました:
シーンの再生(ファイルのオープン)と
ムービークリップ1の再生(変数の取得)が
同時に行われ、なんかうまくいってなかったぽいです。

データがいつロードし終わるかは、回線の速さや状態にもよります。「ムービークリップ2」が、かならずロード後に処理できる保証はありません。

そうすると、LoadVars.onLoadメソッドに定義した(コールバック)関数の中で処理する方が確実です。そうでなければ、(コールバック)関数中で読込み完了のフラグを設定し、変数値を取得する前にそのフラグを確認する処理にすべきでしょう。
引用:
遅れて再生されるムービークリップ2から
_global.url1を参照すると値が入っていました…。


----------------
 

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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