• 締切済み

フラッシュの中に更新履歴(スクロールバー)

http://amber.incoming.jp/index.htm このサイトみたいに、フラッシュの中に、 更新履歴(スクロールバー)を作りたいのですが、 可能でしょうか?わかる人教えて下さい。

みんなの回答

  • watappo
  • ベストアンサー率71% (20/28)
回答No.3

方法も説明してしまいましたので、長文です、ごめんなさい。 さて、スクロールバーなどは、ActionScript(以下、AS)を利用しているものが多いです、ActionScriptを理解されていない場合は、まずそちらを勉強してください。 ざっとで結構ですから^^ JavaScriptと多少ですが似ていて、わかりやすいと思うので、あまり敷居は高くありません。 まぁ、ご説明する方法はAS知識がなくてもできますけど(笑 でも、後々自由なコンテンツを作るときには必要になってきますので、知っておいて損はないはずです。 さて、ruins_kakoさんが参考サイトとして出しているWebページのほう、拝見しました。 括弧書きでスクロールバーと書いているので、スクロールバーの作り方についてまず説明します。 製作ソフトや、そのバージョンにもよりますが、今回はAdobe製(もしくはMacromedia)のソフト使用しているものとして、説明していきます。 もし、ruins_kakoさんが初心者ならば、多少見た目は変わりますが、コンポーネントという機能を利用することをお勧めします。 これは、もともとインタラクティブなコンテンツを作る際の道具箱のようなものです。 ちなみに、ウィンドウメニューから、コンポーネントを選択することで表示できます。 そして、User Interfaceを、ダブルクリックしてメニューを伸張させます。 そのなかに、UIScrollBarというのがあります。 これが、よく見るスクロールバーになります。 (例としては、ニコニコ動画のコメント一覧やオススメ動画表示などの右側部分スクロールバーなど。ただ、参考サイトのスクロールバーとは違います^^;) あらかじめ、ダイナミックテキストボックスを作成しておき、その中に先ほどのUIScrollBarをドラッグアンドドロップすれば、そのダイナミックテキストボックスにスクロールバー機能が追加されます。 ちなみに、このスクロールバーは当たり前といえば当たり前ですが、スクロールが必要な長さ、すなわちテキストボックス内に収まりきらないテキストが入力されていないと機能しませんので、ご注意を。 また、ASを利用して、ダイナミックテキストボックス内に引数として文字列を代入させても、ちゃんとスクロールバーは機能します^^ 要は、テキストボックスで表示しきれないテキスト量のときだけスクロールバーが動くってことです。 また、どうしてもオリジナルのを作りたいということでしたら、検索エンジンを活用するか、補足などで再度お尋ねください。 でも、聞く前に調べてください、努力が大切ですよ^^

すると、全ての回答が全文表示されます。
  • watappo
  • ベストアンサー率71% (20/28)
回答No.2

参考URLに記したサイトを見てみてください。 スクロール関係なら、カンタンなものからこだわったものまでわかると思いますよ。

参考URL:
http://www.flashiroha.com/script/as5.html
すると、全ての回答が全文表示されます。
noname#35109
noname#35109
回答No.1

とりあえず, そのページの更新履歴データはこれです↓。 ttp://amber.incoming.jp/text.txt (頭の h は取っています。URL はブラウザのキャッシュを探せばすぐにわかります。) この URL をブラウザで開いてみると改行などが取れてしまった状態しか見えませんから, 「ソースの表示」でテキストエディタで開いたものが実際のテキストデータに近い物と言えます。 わかりますでしょうか。 「TextField10」 という変数の値に,  2006.3.18  プチリニューアルしました  これからもよろしくお願いします  リンクに<A HREF="ht … という HTML 形式の内容データを用意していています。    変数名  以降が値     ↓    ↓  TextField10=○○<br><A HREF="□□">△△</A>… というようなデータ形式です。 その HTML 形式の値をFlashのダイナミックテキストフィールドに表示させているのです。 テキストの文字コードは UTF-8 のようです。 そのテキストファイルを任意のフォルダに保存させてもらいます。 ファイル名は何でもいいですが, オリジナルと同じ 「text.txt」 というファイル名にしておいたとします。 とりあえずはこれを Flash の中に表示させれば良いわけです。 Flash で新規ドキュメントを作成して, 上で保存させてもらった 「text.txt」 と同じフォルダに任意の名前で保存します。 テキストツールを選択して, ステージを四角くドラッグして, ステージ上にダイナミックテキストフィールドを用意します。 テキストフィールドを選択した状態で,プロパティインスペクタから, 「ダイナミックテキスト」 になっているかをチェックします。 そして,インスタンス名(変数名ではありません)を付けます。 「kousin」というインスタンス名をつけたとしておきます。 文字色は「黒」のような背景とは違う色にしてください。 また,プロパティインスペクタの中央下辺りにある,  Ab <> □ のボタンで, <> を押した状態にします(テキストを HTML としてレンダリング)。 テキストフィールドとは別のレイヤーを新規作成して, その空白キーフレームにスクリプトを書きます。 ----------------------------------------- // LoadVarsクラスのインスタンス my_lv を作成 var my_lv = new LoadVars(); // 外部テキストがロード完了したときの処理 my_lv.onLoad = function(Seikou) { // ロードに成功したら if (Seikou) { // (※メモ帳で作成した場合の改行を \n に統一) this.TextField10 = this.TextField10.split("\r\n").join("\n"); // kousin に TextField10 の値を表示 _root.kousin.htmlText = this.TextField10; } else { // 失敗したら "ロード失敗" を表示 _root.kousin.htmlText = "ロード失敗"; } }; // 外部テキストを myLV にロード my_lv.load("text.txt"); ----------------------------------------- これで, 外部テキストデータが Flash 内のテキストフィールドに表示されると思います。 あとは ▲ と ▼ のボタンを作成します。 ▲ボタンには次のように書きます。 ------------------------- on (release) { _root.kousin.scroll--; } ------------------------- ▼ のボタンには次のように書きます。 ------------------------- on (release) { _root.kousin.scroll++; } ------------------------- これで完成です。

ruins_kako
質問者

お礼

分かりやすい回答有り難う御座います。 難しそうですが、頑張ってみます。 本当に有り難う御座いました。

すると、全ての回答が全文表示されます。

関連するQ&A