NEWS

2016.09.02 「Photoshopとpapervision3dでテクスチャ付3Dを作成する(4)」を更新しました。

  • Web creators

FLASH関連

読み込みが終わってからローディングが表示される場合(1)

概要

Flashではファイルサイズが大きいときなど、画面に表示されるまで読み込み中であることをユーザに通知する"ローディング(Loading)"機能を付けることがありますが、作成するFlashによりローディングが正常に動作しないことがあります。

ローディングが正常に動作しない場合は画面が真っ白の状態がしばらく続き、ローディングが表示されたときには既に読み込みが完了していたり、0%からカウントアップさせたいのに50%から始まるといった現象が見られます。

この原因の一つに、"コンポーネント"を利用している場合が挙げられます。

"コンポーネント"はテキストエリアやチェックボックスなどHTMLのFORMタグ関連の要素を実装するときや、メニューリストやウィンドウ表示などJavaScriptで実装できる機能を簡単にFlashで実現するためのシンボルです。

コンポーネント

この"コンポーネント"は独自に作成するシンボルと同じようにライブラリで管理したり、ステージに配置することができますが、"コンポーネント"はFlash側で用意するため、読み込むフレーム位置はフレーム1が初期設定となっています。

そのためフレーム1にローディングを設置しても、"コンポーネント"の読み込みを優先させるため、それが読み込み終わるまではローディングさえも表示されない状態となります。

例えば、独自でシンボルを用意した場合のデータの読み込み状態を確認します。

まず、フレーム3のステージにシンボルを配置します。

ステージの設定

この状態で「制御->ムービーのプレビュー」でプロファイラを表示すると、3フレーム目にデータを読み込んでいる状態がわかります。

ダウンロードの状況

次に、フレーム3に配置した独自のシンボルを削除して、替わりにコンポーネントをいくつか設置します。

ステージの設定

これも同様にプレビューを表示してプロファイラを表示すると、先ほどは3フレーム目に棒グラフがあったものが、1フレーム目にデータがあることを示しています。

ダウンロードの状況

解決策としては、この"コンポーネント"を読み込むフレームを指定する方法があります。

上部メニューの「ファイル->パブリッシュの設定」を表示します。

パブリッシュの設置

「ActionScriptのバージョン」の右にある「設定」を選択すると、「ActionScript 設定」ウィンドウが表示されます。

ActionScript設定

このウィンドウの中にある「クラス用のフレームの書き出し」が"1"になっているため、これを指定するフレームの数を入力します。

今回は3フレームにシンボルを配置したので、"3"と入力します。

この状態で再度、プレビューのプロファイラを見ると、データが分散されて3フレーム目が重点的にデータ読み込みが行われているのがわかります。

ダウンロードの状況

"コンポーネント"を何種類も利用している場合はその数に比例して読み込むデータ量も増えるため、ローディング設置時には注意が必要です。

ページ上部へ