私が取り組んでいるフラッシュプレーヤーがあります(AS3で開発しています)。
ステージ (およびプレイヤー) のサイズは 640x979 です。
プレーヤーの下部には、再生/一時停止ボタンなどを備えたコントロール バーがあります。
これがプレイヤーの画像です ( image )。
ここまでは順調ですね。
現在、私がロードするほとんどの外部 SWF で、正常にロードされます。しかし、一部では、Loader クラスを使用してそれらをロードしようとすると、プレーヤーが狂ってしまいます。コントロール バーが消え、ビデオがファンキーに引き伸ばされます。これは、添付の画像 ( image ) で確認できます。
ここで本当に奇妙なのは、 Loader オブジェクトを子として追加しなくても、これが発生することです。
私はこれを行うだけです:
public function PlayerCtor()
{
swfUrlLoader = new Loader();
swfUrlLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSwfReceived);
swfUrlLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onSwfIOError);
swfUrlLoader.load(new URLRequest(swfUrl));
}
private function onSwfReceived(e:Event):void
{
swfUrlLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSwfReceived);
swfUrlLoader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, onSwfIOError);
}
.
それでおしまい !外部 SWF をロードするだけで、他には何もしません。
私が考えることができる唯一のことは次のとおりです。
- 「悪い」SWF ファイルには、この動作が発生するコード ビハインドが含まれている可能性があります。
- 「悪い」バナーは 906x340 であるはずです。これらの境界の「外側」からアニメーションが飛んでいることに気づきました...(「Flash Decomplier」トライアルを使用してSWFを逆コンパイルすることでこれを発見しました)。
以下は、正常で問題のない SWF バナーです。
以下は、私のプレーヤーを夢中にさせる「悪い」バナーです。
これが私のプレーヤーを台無しにするのを防ぐ方法を理解するのを手伝ってくれる人はいますか?
助けてくれてありがとう!