0

FP9用にエクスポートされるサードパーティのラッパーSWFファイルに埋め込まれるFlashゲームを作成します。

ピクセルベンダークラス(Shader、ShaderData)を使用するFP10 SWFを作成した場合、FP10プレーヤー内のFP9ラッパーでそれらを実行すると、エラーがスローされます。

VerificationError:エラー#1014:クラスflash.display::Shaderが見つかりませんでした。

これらのFP10クラスにアクセスする方法はありますか?または、最も外側のラッパーのバージョンによって、子SWFで使用できるものが決まりますか?これはapplicationDomainと関係がありますか?

助けてくれてありがとう、ジェームズ

4

2 に答える 2

0

うーん。私はこれと似たようなことをしました - クラスのインポートを含む SWF ファイルを作成し、それらをインポートしない別の SWF ファイルからロードすると、これらのクラスにアクセスできます。

定義によるかどうかはわかりませんが (おそらくコンパイル時エラーがスローされるでしょう)、インスタンスを取得することは確かに可能です (子 SWF で何かを定義してから、MovieClip(theLoader.content).theInstance によってアクセスします)。

ここでの問題は、ネイティブのフラッシュ ライブラリが含まれていない可能性があるという事実です。これらは結局、ランタイムの一部です。というわけで、インスタンスアクセスを試してみて、それ以外に解決策が思いつきません。

于 2010-10-06T16:07:33.697 に答える
0

kirupa.com で senocular から決定的な回答を得ました - FP9 ラッパー内で FP10 クラスを使用することはできません

最初の SWF (プレーヤーをインスタンス化した SWF) は、後続のすべての SWF に公開される API を決定します。9 にラッパー SWF があり、そこに SWF 10 コンテンツがロードされている場合、そのコンテンツは SWF 9 API への API アクセスのみを持ちます。これは仕様によるものです。

http://www.kirupa.com/forum/showthread.php?t=355224

于 2010-10-07T08:02:12.223 に答える