こんにちは。
Flashのコードについて質問させていただきます。
AS3で外部swfを読み込み、制御したいのですが上手くいきません。
ここでいう外部swfはflashで作ったものではなく、aftereffectsでswfで書き出したものです。
var swf:MovieClip;
var loader:Loader = new Loader();
var newSWFRequest:URLRequest = new URLRequest("swfs/" + "test" + ".swf");
loader.load(newSWFRequest);
addChild(loader);
上記コードでswfを表示+再生は出来ます。
更に、swfを停止、再再生、逆再生などしたいのですが、可能でしょうか?
そもそもこのswfにはタイムラインという概念が存在しないので微妙ですが。。。
swf = new MovieClip();
swf .stop();
とか書き足せば、
TypeError: Error #1034: 強制型変換に失敗しました。flash.display::AVM1Movie@231c04a1 を flash.display.MovieClip に変換できません。
が出ます。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> そもそもこのswfにはタイムラインという概念が存在しないので
私は After Effects を持っていないので何とも言えませんが
普通,動画作成&編集ソフトで作成した動画は
タイムラインという概念 "しか" 持たないと思いますよ。
つまり,
普通の動画は スクリプト や 座標 や様々なプロパティ という概念が存在せず,
タイムラインだけがあると思います。
(もしくは タイムライン を格納したオブジェクト(MC)があるかです。)
あと,私の勝手な推測ですが,
After Effects で生成される SWF は
ActionScript 2.0 (AVM1エンジン規格)設定で作成された SWF ではないかと思います。
その辺は After Effects のバージョンや設定に依存すると思うので
SWF ファイルを見てみないと何とも言えません。
何とも言えないので
ActionScript 3.0 設定(AVM2エンジン規格) の場合と合わせて
ActionScript 2.0 の場合のスクリプト例も書いておきます。
◎もし After Effects で生成された SWF が
ActionScript 3.0 設定の SWF であった場合
-----------------------------
var loader:Loader = new Loader();
var newSWFRequest:URLRequest = new URLRequest("swfs/" + "test" + ".swf");
loader.load(newSWFRequest);
addChild(loader);
//loaderにSWFの最初のフレームがロードされたとき関数 onInit を実行
loader.contentLoaderInfo.addEventListener(Event.INIT,onInit);
//関数 onInit の定義
function onInit(e:Event):void {
//loader内のコンテンツの再生を停止
MovieClip(loader.content).stop();
}
-----------------------------
◎もし After Effects で生成された SWF が
ActionScript 2.0 設定の SWF であった場合
この場合
そのSWFをロードする 親SWF もActionScript 2.0 設定で作成する必要があります。
その場合のスクリプト例↓
-----------------------------
//ムービークリップ「loader」を最高深度に作成
var loader:MovieClip = createEmptyMovieClip("ld",getNextHighestDepth());
//MovieClipLoader「mcl」を作成
var mcl:MovieClipLoader = new MovieClipLoader();
//リスナー用オブジェクト「obj」を作成
var obj:Object = new Object();
//「mcl」のリスナーとして「obj」を登録
mcl.addListener(obj);
//SWFをロード
mcl.loadClip("swfs/" + "test" + ".swf",loader);
//loaderにSWFの最初のフレームがロードされたときに実行
obj.onLoadInit = function():Void{
//loader内の再生を停止
loader.stop();
}
-----------------------------
最低ラインこの辺までやってみて
その結果からこの先の対策を検討し
その後,
この件とは別に「逆再生」などの方法を思考・模索し
もしわからなければその方法を問うべきでしょう。
(段階を跳び越えすぎですよ。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 Corel VideoStudio Pro X8 で、SWFをmp4に変換する方法 1 2022/05/06 22:19
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Excel(エクセル) VBA フォルダ見える化のコードについて 2 2023/06/19 15:04
- その他(プログラミング・Web制作) Leafletで画像をon、offさせる方法について 2 2022/11/01 15:34
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- JavaScript jQueryでのレスポンシブが綺麗に動かない 3 2022/06/21 11:08
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
このページではAC_RunActiveCon...
-
exe形式とswf形式の違い
-
サポートされたファイル形式お...
-
個別に違う添付ファイルを付け...
-
PDFファイルの倍率を変えて保存...
-
【VBA】マクロの入ったファイル...
-
e-taxで送信ファイルの拡張子が...
-
Googleマップに保存した地点が...
-
ガラケーからPCへの写真の取り込み
-
iPhoneの内蔵の記憶媒体は、HDD...
-
VBSでファイルを指定のフォルダ...
-
複数のブックを新しいブックのS...
-
stdio.hの中身
-
ファイル数と合計サイズの取得方法
-
クリッカブルマップ(イメージ...
-
PC内で速度を遅くした音源をCD...
-
A4の紙に印刷されている文字を...
-
alert で文字の色を変えたい
-
拡張子「.IDJ」を、windo...
-
VIDEOタグでPC上のローカルファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
このページではAC_RunActiveCon...
-
swflash.ocx と flash.ocx ...
-
パブリッシュとプレビューの違...
-
PDFファイルの倍率を変えて保存...
-
サポートされたファイル形式お...
-
Googleマップに保存した地点が...
-
【VBA】マクロの入ったファイル...
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
複数のブックを新しいブックのS...
-
A4の紙に印刷されている文字を...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
ビデオファイルのプロパティの...
-
エアコンの冷媒 R410Aの重...
-
ガラケーからPCへの写真の取り込み
-
拡張子「.IDJ」を、windo...
-
Fortniteのクラッシュについて
-
2枚、マイクロSDカードを入...
おすすめ情報