この記事のURL

http://www.dango-itimi.com/blog/archives/2009/000985.html


FLASH tips update スクロールバーコンポーネント2 動的なバーの長さ変化

スクロール対象のコンテンツの高さが変化する場合、スクロールバーの高さや表示位置を同時に変化させる必要があります。その動作確認を行なうための swf を作成しました。

※要 Flash Player 10

スクロール対象コンテンツの高さを数値入力して試験を行なうことができます。swf 下部の「スクロール対象コンテンツ表示位置」はスクロールバーの出力結果確認用です。

スクロールバーをマウス等で操作した後、コンテンツ高さを変更すると、バーの位置や高さが最適化されます。コンテンツ表示領域は 200 ピクセルに設定しているので、それより小さい数値を設定するとスクロールバーは表示されなくなります。


スクロール対象のコンテンツの高さが変化する状況は以下のような場合に考えられます

・ブログのような記事がたくさんある縦長になるサイト
・各表示記事データを分割して読み込む
・読み込む順番は表示順に上から
・読み込み完了と同時にその記事を表示
・記事を表示するムービークリップの高さは文章量次第で変化する


■仕様の目的

今回作成しているスクロールバーコンポーネントは、スクロール対象コンテンツの高さの数値を与えることで、スクロールバーのインスタンスが生成されます。そして、生成されたスクロールバーインスタンスのメイン処理を実行すると、スクロール対象コンテンツのどの箇所を表示エリア先頭に表示したらよいかのピクセル数が返却されます。
スクロールバー生成側は 1 フレーム毎にスクロールバーのメイン処理を実行し、得られたピクセル数をスクロール対象コンテンツのY座標に設定することで、スクロール処理が実現されます。

直接スクロール対象コンテンツの操作は行なわず、数値で処理を行うことができるようにすることにより、実際に表示されるスクロール対象コンテンツの高さがどのような値であっても、意図した高さを元にスクロール処理を行なうことが可能となります。

実際に表示されるスクロール対象コンテンツの高さと意図する高さが異なる状況はどのような場合かというと、恐らく次回へ続く。

[ FLASH ] [ tips ] [ update ] 投稿者 siratama : 2009年03月27日 20:44

トラックバック

http://www.dango-itimi.com/blog/mt-tb.cgi/945

コメント

以下コメントを書き込むだけでは、管理人には通知が行われません。通知を行いたい場合、管理人の書き込みに「返信」を押してコメントをしていただくか、あるいは Google+, Twitter へご連絡ください。




[EDIT]