6

AIR アプリが、入力用のテキスト フィールドを含む SWF ファイルをロードしています。テキスト フィールドに入力できますが、コピーと貼り付けが機能しません。キーボード ショートカットを使用して何かを貼り付けようとすると、テキスト フィールドは次のようになります。

ここに画像の説明を入力

(これは「T」ではありません)。

そして、一連のコピー/貼り付けの後、次のようになります。

ここに画像の説明を入力

テキスト フィールドを右クリックしても何も起こらず、コピー/貼り付けオプションのコンテキスト メニューが表示されません。

ロードされている SWF は AS2 にあります (その中のコードは非常に膨大で洗練されているため、AS3 に移植することは事実上不可能です)。その SWF を置き換えることはできません。私のプロジェクトにとって非常に高い価値があります。この問題を除けば、SWF は問題なく動作します。ローダーの AS3 設定でいくつかの構成定数を変更できますか?

テスト目的で、2 つの .flas を作成しました。1 つは AS2 にあり、テキスト フィールドを含み、もう 1 つは AS3 にあり、テキスト フィールドをロードします。ここから.flas のアーカイブをダウンロードできます。

4

1 に答える 1

6

汚いハックですが、機能します。:) SWF を AVM1 から AVM2 に「その場で」変換します。ForcibleLoader を使用するhttps://code.google.com/p/as3-classes/source/browse/trunk/org/lzyy/util/ForcibleLoader.as

loader.fla で:

var loader:Loader = Loader(addChild(new Loader()));
var fLoader:ForcibleLoader = new ForcibleLoader(loader);
fLoader.load(new URLRequest('tf.swf'));

ForceLoader.as に追加import flash.system.LoaderContext;

var lc:LoaderContext = new LoaderContext();
lc.allowCodeImport = true;
loader.loadBytes(inputBytes, lc);

代わりは

loader.loadBytes(inputBytes);

インライン ~75

于 2013-04-02T18:21:47.663 に答える