なんで?
外部または内部リソースへのリンクである必要があるフラッシュ要素を含むレイアウトを受け取ったことがありますが、実際にはそうではありませんか? 同時に、あなたがフラッシュ開発者ではなく、Flash IDEが手元にない場合(または作業中のオペレーティングシステムでさえこのFlash IDEをサポートしていない場合)-これは少し恥ずかしいことになります。 もちろん、レイアウトデザイナーを蹴ってすべてを修正することもできますが、時間がかかり、したがってお金がかかります。 また、URLが変更されるたびにキックすることはお勧めできません。
Swftoolsが助けになります
開発者のサイトで 、これは.swfファイルを操作するためのコンソールユーティリティのセットであることがわかります。 これらのユーティリティは優れており、さまざまです(たとえば、ActionScriptコンパイラーはBox2Dをコンパイルできません。つまり、すべてのActionScript構文が理解できるわけではありません)が、タスクに対処します。
ところで、ユーティリティは次のことができます。
- PDFからswfに変換(PDF2SWF)
- SWFムービー(SWFDump、SWFStrings、SWFBBox、SWFExtract)からコンテンツをプルします
- いくつかのグラフィック/オーディオ/ビデオファイル形式をswf(JPEG2SWF、PNG2SWF、GIF2SWF、WAV2SWF、AVI2SWF)に変換する
- フォントTTF、Type1(Font2SWF)をswfムービーにインポートします
- 特定の制限付きでActionScript3コードをコンパイルします
では、バナーのリンクの作り方を教えてください。
ここでは、swfcと呼ばれるswftoolsスイートの別のコンソールプログラムが役立ちます。 特別なマークアップ言語の説明に基づいてフラッシュムービーを収集できます。
banner.swfファイルに980 x 136ピクセルのサイズのバナーがあり、Webサイトのブラウザーに表示されるときに、habrのメインページを参照する必要があるとします。
次のマークアップを含むmovie.scテキストファイルを作成します。
#ビデオ付きファイル名、サイズ、再生速度
.flash filename = "banner_with_link.swf" bbox = 980x136 fps = 12
#バナー
.swfバナー「banner.swf」
.putバナー
#その上の透明な長方形
.box rect width = 980 height = 136 color = red fill =#FFFFFF00 line = 0
#長方形を「ボタン」エンティティにアセンブルします
.button mybutton
.show rect as = shape
#ボタンをクリックすると、リンクが移動します
.on_press:
getURL( 'http://habrahabr.ru/'、 '_top');
.end
.end
.put mybutton
.end
swfcユーティリティを使用して、このファイルからswfムービーを収集します。
swfc movie.sc
アセンブリの結果として、必要な機能を備えたbanner_with_link.swfファイルを同じディレクトリに取得します。
それで何?
実際には、タスクは完了していますが、そこで停止することはできません。 実際、アセンブリをマシンで実行する必要はありません。このユーティリティをサーバーにインストールするだけで、バナーを動的に収集できます。 適切なキャッシュを使用すると、これはパフォーマンスにほとんど影響を与えません。 開発者のサイトの「参考文献」セクションには、このテクノロジーで作業しているプロジェクトの例があります。 そして、
ウィキのドキュメントの資料とプロジェクトのオープンソースコードを研究した後、あなたはそれを使用するための多くの他の素晴らしいアイデアを得るでしょう。 ハブでそれについて書くことを忘れてください!