AS3 で Flash CS5 を使用しています。ちょっと変な状況です。インスタンス名が「message_text」のムービークリップに動的テキストがあります。そのテキストは、最初は「Loading...」という値を保持しています。
次に、外部 SWF ビデオをロードして制御する VideoLoader クラスを作成します。
public function loadVideo (video, beginframe, endframe, isanswer, container)
{
...
this.messagePanel = new MessagePanel();
this.container.addChild(messagePanel);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadHandler);
loader.load(new URLRequest(video));
}
function onProgressHandler(event:ProgressEvent)
{
var percent:Number = Math.round(event.bytesLoaded/event.bytesTotal*100);
var st_percent:String = String(percent);
this.messagePanel.message_text.text = st_percent+"% loaded";
if (percent == 100)
{
this.container.removeChild(this.messagePanel);
}
}
これは、フラッシュでテストしたり、SWF をエクスポートして自分のコンピューターで試したりすると、完全に機能します。しかし、サーバーにアップロードすると、messagePanel ムービークリップに onProgressHandler() メソッドに追加したテキストが表示されません。ステージに直接追加すると、テキストが表示されます。
ここで何が問題になる可能性がありますか?理解できない。フォントはすでに埋め込まれています。Arial などのフォントで試しても、うまくいきません。サーバーでも100に達すると子が削除されるため、パーセントの値は正しいです。繰り返しますが、テキスト機能は localhost では完璧に機能しますが、サーバーでは機能しません。
ご助力ありがとうございます。