5

こんにちは、ボタンを表示するアクション スクリプト ファイルがあります。ディスプレイからボタンを削除したい。そのため、actionscript コードを変更し、変更後に新しい SWF ファイルを生成する必要があります。

actionscript ファイルから SWF ファイルを生成する方法を教えてください。

前もって感謝します。

4

3 に答える 3

11

as3 を .swf ファイルにコンパイルするために使用するものを尋ねていると思います。

ソース ファイルは .fla または .as ファイルですか? .swf はソース ファイルではなく、コンパイルされたファイルであることに注意してください。したがって、その場で変更したい場合は、上記の anemgyenge によって提案された方法を使用できます。

それ以外の場合、「オンザフライ」が意図されていない場合は、逆コンパイルする必要があります。逆コンパイルされたシンボルは扱いにくいため、実際には高品質のソースにはなりません。

Flash CS5 は .swf にコンパイルでき、メイン ソース ファイルはコード ファイルの .fla および .as です。

Flex SDK は AS3 を .swf にコンパイルでき、as3 コードを編集するための IDE として Flex Builder または Flash Develop を使用できます。

FlashDevelop は無料で、次の場所から入手できます。

FlashDevelop ダウンロードページ

FlashDevelop でコンパイルするには Flex SDK が必要なので、ここで入手する必要があります。

Flex SDK - 3 または 4 のいずれかを使用できます

それをいじってみたいと思っているなら、wonderfl.net を試してみませんか。サイトのレイアウトに関しては少し雑ですが、学ぶべきコードがたくさんあり、何もインストールする必要はありません!

于 2011-04-23T06:31:06.020 に答える
6

問題が解決せず、迅速な解決策が必要な場合は、「actionscript コードを変更して新しい SWF を生成する」のではなく、回避策を試すことができます。

ボタンを含む swf ファイルを新しいフラッシュ プロジェクトに埋め込みます。これには、Embed メタタグを使用し、ファイルを ByteArray として埋め込み、それを Loader オブジェクトにロードします。

[Embed(source="filename-of-swf-with-button", mimeType="application/octet-stream")]
var class1:Class;

var ldr:Loader = new Loader();
ldr.loadBytes(new class1());

この後、 によって「swf」のコンテンツに到達できますldr.content。インスタンスの名前がわかっている場合は、非表示にするか、表示リストから削除します。名前がわからない場合は、難しい方法で見つけてみてください。

for(var i:int = 0; i < ldr.content.numChildren; i++)
{
     trace(ldr.content.getChildAt(i).name);
}

検索後、ボタンインスタンスを選択します。

于 2011-04-20T14:13:30.317 に答える
1

オンザフライで (実行時に) 生成するか、AS ファイルを SWF ファイルにコンパイルしますか? AS ファイルを SWF にコンパイルするだけの場合は、さまざまな ActionScript IDE (Flash Builder、Flex、FlashDevelop [私のお気に入り]) で新しいプロジェクトを作成し、問題のファイルをメイン アプリケーション ファイルとして含め、コンパイルします。すべてが正常に動作する場合は...さて、SWF が完成しました。

上記の「*.as」ファイルをメイン アプリケーション ファイルとして設定する方法は、IDE ごとに若干異なります。Sprite クラスまたは MovieClip クラス (または、既にこれを行っている別の基本クラス) を拡張して、ステージにアタッチするためのエントリ ポイントがあることを確認する必要があります。

于 2011-04-20T16:24:23.460 に答える