• 締切済み

スクロールバーの設定

外部テキストを読み込んで、autoSizeのテキストフィールドに表示させ、そのテキストフィールドにスクロールバーをつけたいと考えています。 外部テキストを読み込んで、autoSizeのテキストフィールドに表示させることはできました。 スクロールバーの方は、テキストフィールドに付いてはいるんですがautoSizeに対応しないため、機能せず。という状況です。 環境:Windows XP/Flash MX 色々調べても解決出来なかったので困っています。 よろしくお願いします。

  • Flash
  • 回答数2
  • ありがとう数2

みんなの回答

  • DPE
  • ベストアンサー率85% (666/776)
回答No.2

#1です。 長いテキストを、スクロールバーを付けて表示できればいいだけなのでしょうか? スクロールバーを利用する時は、autoSize に none を指定してテキストフィールドの大きさを固定しておくことが最も簡単です。 ScrollBar コンポーネントも、テキストフィールドが自動伸縮しないことを前提に設計されています。 自動伸縮ありの場合は#1にも書きましたように、テキストが全て収まるようにテキストフィールドの大きさが変更されます。 大きさが変わった結果、ステージからはみ出して見えなくなった部分があったとしても、Flash の中ではスクロールの必要のないテキストフィールドと扱われるので、スクロールバーは機能しません。 自動伸縮なしのテキストフィールドではフィールドに入りきらない部分は表示されませんが、コンポーネントを利用してスクロールバーを付けるか、スクロールボタンを自作するなどすると表示させることができます。 デフォルトでは autoSize が none に設定されていますので、通常は改めて設定し直す必要はありません。 自動伸縮なしのテキストフィールドにしてもスクロールバーが動かない場合は、以下の2点をご確認ください。  ・スクロール対象の指定に誤りがないかどうか  ・テキストフィールドに読み込んだテキストを表示する方法   →テキストフィールドの「変数:」の項目に変数名を指定することでも表示できますが、    ScrollBar コンポーネントを利用する時は、この方法ではスクロールバーが機能しません。    読み込みの完了を待ち、text プロパティに内容を代入してください。 この辺りの件は、以前、別の質問で説明したことがありますので、よろしければご参考になさってください。  ・ FlashMXのスクロールバーに関して   http://okwave.jp/qa1219924.html ------------------------------------------------------------- どうしても autoSize で自動伸縮を有効にし、ステージからはみ出した部分をスクロールバーでスクロールさせたい、といった話であれば、少々強引になりますが、スクロールバーでテキストフィールドそのものを動かす方法も考えられます。 ScrollBar コンポーネントは、スライダの位置に応じて返す値を自由に設定できるようになっています。 (テキストフィールドのテキストをスクロールする場合は、この値は自動で設定されます) スライダの位置情報を工夫し、この値からスクロール対象を動かす処理を自作すれば、テキストフィールド内のテキストに限らず、ムービークリップやテキストフィールド自体もスクロールさせることができます。 このような目的で使う時は、一般的には、マスクを利用して表示領域外に出ている部分を見えないようにします。 しかし、Flash MX のパブリッシュ機能では setMask を使ってもデバイスフォントやダイナミックテキストにマスクがかからない( Flash Player 6 のバージョンによっては可能。ちなみに、当方の Flash MX では不可、Flash 8 で Flash Player 6 向けにパブリッシュした場合は可能でした)ようですので、ステージからはみ出すために見えなくなるといった事情にでも頼らない限り、余分な部分まで見えてしまって不自然になるかもしれません。 まあ、方法はあるにはありますが、面倒な割に思ったほどいい成果は出ないかと思います。 長いテキストをスクロールバー付きで表示したいだけでしたら、autoSize による自動伸縮を使用せずにスクロールバーを付ける方法が簡単・確実でオススメです。

R242424
質問者

お礼

回答ありがとうございます。 DPEさんのご説明通りやったところ希望通りのものを作ることができました。 本当にありがとうございました。

  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

autoSize プロパティに” none ”(自動伸縮なし)以外を指定すると、文字列の長さに合わせてテキストフィールドの大きさが変化します。 つまり、スクロールすることなく文字列全体を表示できる大きさに調整されるということので、スクロールバーを付けても意味がありません。 wordWrap や multiline プロパティとの組み合わせで伸縮のスタイルが変わるものの、文字列を全て表示できる大きさになる点は同じですから、自動伸縮を利用するならスクロールバーは不要だと思いますが。

R242424
質問者

お礼

回答していただきありがとうございます。 表示範囲にテキストフィールドが収まらないため(テキストの量が多いため)、スクロールバーを利用したいと考えています。 よろしくお願いします。

関連するQ&A

  • createTextFieldで作ったテキストフィールドにスクロールバーをとりつける。

    テキストツールでダイナミックテキストのフィールドをつくり、そこにコーンポーネントを適用させたら、スクロールバーがつく、とわかったのですが、スクリプトでテキストのフィールドをつくり、そのテキストフィールドにコンポーネントを適用させて、スクロールバーを取り付ける事はできないのでしょうか? this.createTextField("my_txt", 10, 5, 60, 205, 240); my_txt.htmltext = _level0.entry; このようにして、テキストフィールドに外部テキストをよみこんでいます。 アドバイスをいただきたいです。 http://livedocs.macromedia.com/flash/8_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00004232.html このページを見てもよく分からなく、スクロールバーの取り付けができません。 私が使っているのは、Windows XP Flash MX Professional 2004です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • スクロールバーが一番したまで来たときにボタンが表示される。

    質問させてください。 createtextfieldでつくったテキストフィールドにコンポーネントを使って、スクロールバーを適用させています。 そのスクロールバーのスライダが一番下まで来たときに、ボタンを表示させたいのです。 しかし、その条件設定がどうしたらいいのかわからず、なやんでいます。 自作のスクロールボタンだと、ボタンを押したときにmaxscrollなら、という条件設定で実現できたのですが、コンポーネントの場合は、どういう風にすればいいのかわからず、困っています。 もしよろしかったら、教えていただければ、幸いです。 私が使っているのは、 WIN XP FLASH MX 2004 です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash スクロールバー表示

    環境 Win OS XP   Macromedia Flash MX Professional 2004 外部テキストを読み込んでいるんですが ◆スクロールパーツがうまく表示されない …スクロールバーの部分が上下に長い ◆スクロールの反応が悪い …マウスでスクロールできず上下の矢印を押さないと移動できない ◆*.flaだと上下の矢印も表示されない白い棒のまま。 ◆外部テキスト(HTML)が全部スクロールで表示しきれない …もっと文章があるんですがスクロールできるのは数行止まりで それ以上、下へ行かないんです。 サイトや本など色々見たのですが確証あるものがなくご指導いただきたく思いますので よろしくお願いします。 アクション部分は onClipEvent (load) { this.loadVariables("txt.html"); } onClipEvent (data) { scrollbar.setScrollTarget(txt.html); } 初心者なモノで説明不足かもしれませんが どうぞよろしくおねがいします。

    • ベストアンサー
    • Flash
  • FLASH8でテキストに付属させるスクロールバーがうまく付けられません

    FLASH8を使っています。 テキストに付属させるスクロールバーの設置がうまくいきません。 外部のテキストファイルを読み込ませているんですが、 テキスト部分は問題なく設定できました。 スクロールバーをコンポーネントのUIScrollBarで設置しましたが プレビューを見るとスクロールバーの部分が 真っ白で表示がおかしく、機能もしません。 テキストの範囲内に設置もしていますし 何が原因なのかわからない状態です。 どなたか解決策を教えて頂けないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • スクロールバーの自作の仕方

    テキストフィールドにスクロールバーをつけようと思いUIScrollBarを使用したのですが、 少々味気ないのでマウスホイール対応のスクロールバーを自作しようと思ってます。 しかしWEBで検索してもサンプルを配布しているサイトは多数あったのですが、一から解説しているサイトは発見できませんでした。 お手数ですが、スクロールバーの自作の仕方を教えて頂けないでしょうか。 FLASH製作の知識が全くといっていいほどないので、分かりやすく教えていただければ助かります。 ちなみに製作ソフトはFLASH8を使っています。 よろしくお願いします。

  • テキストボックスにスクロールバーをつける

    はじめましてFLASH初心者です テキストが長すぎるので スクロールバーをつけて すっきりみせたいのですが やりかたさっぱりわかりません。。。 WEBでいろいろ調べたのですが どれもサンプルのみで解説などが なかったです(汗 外部テキストを読み込まなくてもいいので 一番簡単な方法などありましたら教えてください。 またそのような説明があるサイトがありましたら 教えてください。 お願いいたします。

    • ベストアンサー
    • Flash
  • テキストフィールド+UIScrollBarについて

    外部ファイルをダイナミックテキストとしてテキストフィールドに読み込んでいます。 System.useCodepage = true ; loadVariablesNum("test.txt", 0); UIScrollBarでターゲットをテキストフィールドのインスタンス名を指定するのですが、スクロールバーが表示されません。FLASH初心者ですが、助言などありましたら、お願いします。 2004MX Profationalです。

    • ベストアンサー
    • Flash
  • テキストフィールドにスクロールバーを設置

    テキストフィールドをダイナミックテキストに指定し、 複数行に設定した後にコンポーネントパネルから「ScrollBar」をフィールドの右側にドロップしてからパブリッシュをしたのですが、 swfファイルを見てみると全くスクロールバーが作動していませんでした。 テキスト内には外部ファイル(txt)を読み込んでいるのですが、、、 そのときに使用したASは this.loadVariables("xxx.txt") で、これを1フレーム目に記述しました。 一応txtファイルに記述した適当な日本語文はきちんと表示されていました。 一体どこが原因でスクロールバーが作動しないのでしょうか? よろしくお願いします。

  • UIScrollBarを利用したスクロールバーが見えない

    Flash8を使ってAS2.0で書いています。 ダイナミックテキストフィールドに、スクロールバーを表示させたいため、 www.helpexamples.com/flash/lorem.txt の下半分を参考にして、ActionScrioptでスクロールバーを作成しようとしています。 しかし、このページに載っているサンプルコードをそのままコピー&ペーストしても、 スクロール動作自体には問題ないものの、 スクロールバー本体が表示されません。 これでは、一見して文章の続きがあるかがわかりにくいので、 コンポーネントパネルからドラッグして作成した場合のように、 スクロールバーを表示させたいのですが、方法がわかりません。 this.createClassObject(mx.controls.UIScrollBar, "my_sb", 20); の最後の20という数字をいろいろ変えてみたり、 my_sb.move(my_txt._x + my_txt._width, my_txt._y); の中の数値を色々変えてみたりしたのですが、表示されませんでした。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • FlashMXのスクロールバーに関して

    こんにちわ、 win2000でFlashMXを使用し作業をしています。 外部ファイルを読み込み、テキスト表示をする際、UIコンポーネントのスクロールバーを使用しました。 しかし、テキストボックスの大きさまでは表示されるのですが、全ての文書を見ることが出来ません。 文章をスクロールさせたいのですが、どうすれば出来るのでしょうか? ちなみにアクションスクリプトは System.useCodepage = true; this.loadVariables("test.txt");{ _root.newtxt.condenseWhite = true; } で外部ファイル"test.txt"を読み込んでます。 そのほかはスクリプトを組んでません。 UIコンポーネントのスクロールのプロパティでは、 ●Target TextField → newtext(テキストボックスのインスタンス名) ●Horizontal → false になってます。 レイヤーは ・テキストボックス ・スクロールバー 一つ一つ分かれています。 もしわかるかたがいらっしゃれば教えていただければと思います。 また説明として不十分であればおっしゃってください。 よろしくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう