ホームページ >ウェブフロントエンド >フロントエンドQ&A >JavaScriptで.swfを制御する方法
JavaScript は、Flash .SWF ファイルなど、さまざまなメディアを制御できる強力なスクリプト言語です。 SWF ファイルは、高度なインタラクティブ性とアニメーション効果を備えたベクター グラフィック ファイル形式です。このファイル形式を制御するにはどうすればよいですか?この記事では、JavaScript を使用して .SWF ファイルを制御する方法について説明します。
まず、Flash ファイル自体にはある程度の対話性があり、ユーザーのマウス イベントやキーボード イベントなどに応答できることに注意してください。これらのインタラクティブ性は、Flash ファイル自体にエンコードできます。 Flash ファイルの再生、停止、一時停止などの機能を単純に制御したい場合は、Adobe Flash Professional などのツールを使用して Flash ファイルを作成し、JavaScript で制御できます。
Flash ファイル自体が提供するより高度なインタラクティブ機能にアクセスしたい場合は、JavaScript を使用できます。ここでは、JavaScript で .SWF ファイルを制御する 2 つの方法を紹介します。
方法 1: JavaScript ライブラリを使用する
JavaScript ライブラリは、特定のタスクで繰り返しコードを記述する労力を軽減するために設計された再利用可能なコードのセットです。現在利用できる JavaScript ライブラリは数多くありますが、最も人気のあるものは jQuery と SwfObject です。
jQuery を使用して .SWF ファイルを制御するのは非常に簡単です。まず、以下に示すように、ページに jQuery ライブラリをロードします:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
次に、JS コードで次のコマンドを使用して Flash オブジェクトを取得し、その再生、停止、その他の機能を制御します:
var flash = $("object"); flash.stop(); //停止Flash动画 flash.play(); //播放Flash动画 flash.pause(); //暂停Flash动画
SwfObject を使用すると、Flash ファイルを Web ページに簡単に埋め込み、それを制御するための API セットを提供できます。まず、ページに SwfObject ライブラリを導入する必要があります:
<script src="https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
次に、次のコードを使用して Flash ファイルを初期化します:
var flashvars = { //传递给Flash文件的参数 }; var params = { //Flash文件播放时的一些参数 }; var attributes = { //定义Flash文件的属性 }; swfobject.embedSWF("demo.swf", "flashcontainer", "300", "200", "10", null, flashvars, params, attributes);
その中で、最初のパラメータは URL です。 2 番目のパラメータはコンテナの ID、3 番目と 4 番目のパラメータはそれぞれコンテナの幅と高さ、5 番目のパラメータは Flash ファイルのバージョンであり、null にすることもできます。必要に応じて他のパラメータを定義できます。
次のコードを使用して Flash ファイルを制御します。
var flash = swfobject.getObjectById("flashcontainer"); flash.stop(); //停止Flash动画 flash.play(); //播放Flash动画 flash.pause(); //暂停Flash动画
方法 2: ActionScript を使用する
ActionScript は、Flash ファイルにエンコードできる Flash プラットフォーム上のプログラミング言語です。 JavaScript を使用して、Flash ファイルで提供されていない機能を制御する場合は、ActionScript コードを作成し、JavaScript を通じてそのコードを呼び出すことができます。
まず、Flash Professional で新しい ActionScript ファイルを作成します。次に、ActionScript コードを記述してファイルを保存します。
JavaScript コードで、次のコードを使用して Flash オブジェクトと ActionScript ファイルを読み込みます:
var flash = document.getElementById("flashcontainer"); //获取Flash对象 flash.loadMovie("demo.swf"); //加载Flash文件 flash.loadExternalScript("demo.as"); //加载ActionScript文件
次に、JavaScript で次のコードを使用して、ActionScript 関数を呼び出します:
flash.ExternalInterface.call(function_name, arg1, arg2, ...);
ここで、 function_name は ActionScript ファイルで定義した関数名で、次のパラメータはこの関数に渡されるパラメータです。このメソッドを使用すると、マイクやカメラの呼び出しなど、Flash プラットフォームが提供する高度なインタラクティブ機能にアクセスできます。
概要
上記は、JavaScript を使用して .SWF ファイルを制御する 2 つの方法であり、よりリッチでインタラクティブな Web アプリケーションを作成するために使用できます。これらのメソッドを使用すると、Flash プラットフォームが提供する多数の機能にアクセスし、操作することができます。どの方法を使用する場合でも、JavaScript と Flash テクノロジを習得することが重要です。
以上がJavaScriptで.swfを制御する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。