- ベストアンサー
スクロールバーを非表示にする方法 | ActionScriptの繰り返し文を使用
- ActionScriptを使用して複数のページでスクロールバーを非表示にする方法について質問させていただきます。
- テキストの長さを判別し、スクロールが不要な場合にスクロールバーを非表示にするために、繰り返し文を利用しようとしていますがうまくいきません。
- ActionScriptのコードによるスクロールバーの非表示化について詳細な質問内容を記載しております。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
Flash ではそもそも「ページ」というものは存在しないので (出てくるとすればFlash を印刷する場合の印刷物のページ), ページと書かれましても何のことかわかりませんが, 例えば, メインムービーの フレーム1 に複数のテキストフィールドがあって, メインムービーの フレーム2 に,フレーム1とは別のテキストフィールドがあるという意味でしょうか? よくわかりませんが, 上記のように,フレームのことだとすると, sub_bar1 ~ sub_bar10 が存在するフレームには次のように, for (i=1; i<=10; i++) { //スクロールの必要がないならスクロールバーを非表示 this["sub_bar"+i]._visible = (this["sub"+i].maxscroll<=1) ? false : true; } sub2_bar1 ~ sub2_bar10 が存在するフレームには次のように, for (i=1; i<=10; i++) { //スクロールの必要がないならスクロールバーを非表示 this["sub2_bar"+i]._visible = (this["sub2"+i].maxscroll<=1) ? false : true; } 分けて書かなければなりません。 実際のムービーの構造がよくわかりませんが,とにかく, 指示したいオブジェクトが,ちゃんとステージに存在する状態で指示してください。 ===================== Flash は,基本的に時間軸にそってアニメーションするコンテンツです。 フレーム1 で操作できるのは, フレーム1 に存在するオブジェクトのみです。 普通は次のように複数フレームにわたってオブジェクトが存在します。 5 10 □ レイヤー 筆・・|○ []|●/////[]|○ []| 仮に, 上のように フレーム5 ~ フレーム10 まで存在するものがあるとすれば, フレーム1 に その物に対するプロパティを書くことはできません。 実際には書けますが,書いても無効です。 フレーム5 で出没するムービークリップのアルファ(不透明度)を, フレーム5 で半透明(アルファ50)にしようと思えば, フレーム5 に ムービークリップのインスタンス名._aipha = 50; と書けば フレーム5 以降はアルファ50のまま時間は流れます。 そうではなく,フレーム8 に ムービークリップのインスタンス名._aipha = 50; と書けば フレーム5 で出没するムービークリップにはアルファはかかっていませんが, フレーム8 でアルファがかかり, フレーム8 以降アルファ50になりそのまま時間は流れます。 とにかく,そのとき(スクリプトを実行する時点で), ステージ上などに存在するインスタンスにしか命令や数値代入はできません。