AdobeのFlashを使って他人の作ったflashの編集をする事になったのですが、ActionScriptについての知識がほとんどなく困っています。
アルファの白い画面→''画像が表示''→アルファの白い画面→ループ、頭に戻る
この動きの繰り返しの中で画像が1→2→3と変化します。
(タイムラインの1フレーム目で画像が切り替わるようになっています。)
asの部分にはこう書かれています
--------
if( loop_cnt == undefined || loop_cnt>mcimg._totalframes)
{loop_cnt = 1;}
---------
(内容と無関係だったらすみません><解読は出来ていない状態です)
このflashの始まりを、上記の''画像が表示''の部分から始まるように変更したいです。
(flashを途中から再生させる→ループで頭に戻る→その後はそのまま全てのタイムラインをループ)
ActionScriptでこのような命令をする方法があれば教えて頂きたいのですが・・・
投稿も初めてなので記述に至らない点が多いかと思いますが、何卒よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
#1で回答した者です。
#1の回答では
> if( loop_cnt == undefined || loop_cnt>mcimg._totalframes)
> {loop_cnt = 1;}
これがご質問の本題に関係があるものとして
そこからムービーの構造やしくみを私が勝手に想像した上での回答です。
仮にご質問中の
> if( loop_cnt == undefined || loop_cnt>mcimg._totalframes)
> {loop_cnt = 1;}
これはなかったものとします。
そして
> (flashを途中から再生させる→ループで頭に戻る
> →その後はそのまま全てのタイムラインをループ)
だけにシンプルに答えるとします。
その場合はスクリプトを次のようにすれば良いと思います。
再生させるタイムラインのフレーム1に書くスクリプトです。
(_rootを再生させるなら_rootのタイムラインのフレーム1に書くスクリプトです。)
(ムービークリップ内を再生させるならムービークリップ内のタイムラインのフレーム1に書くスクリプトです。)
-----------------------------------
//再生開始フレームを設定(4は例えばの例)
var start_frm = 4;
//もし変数 play_flag が未定義であれば
if (play_flag == undefined) {
//変数 play_flag を true と定義
var play_flag = true;
//このタイムラインをこのフレームで停止
this.stop();
//---ロード待ち処理------
//毎フレーム実行するメソッドを定義
this.onEnterFrame = function() {
//このタイムラインが指定フレームまでロードされたら
if (this._framesloaded>=start_frm) {
//指定フレームより再生開始
this.gotoAndPlay(start_frm);
//毎フレーム実行するメソッドを削除
delete this.onEnterFrame;
}
};
}
-----------------------------------
#1 と同じく,一応
Flash MX 以上(MX,MX2004,8,CS3,CS4,CS5,CS5.5 のいずれか)をお持ちで
ActionScript 1.0 (または 2.0) を使う設定で
Flash Player 6 以上用の SWF をパブリッシュするものと想定しています。
この回答への補足
情報が足りない中で的確な推測、丁寧なご回答本当にありがとうございます。
Flash CS3,ActionScript 2.0を使っています。
最初にお伝え出来ず申し訳ございませんでした。
実は問題のflashには多くのムービークリップやボタンなどが組み込まれており、それらの実行のタイミングが1フレーム目に指定され、尚かつ全体のアルファと連動している為、モーショントゥイーンで作り直す事ができずに困っていました。
色々調べても類似の記事が無かった為、他の人の参考にもなるようなるべくシンプルな質問内容にしようとした事で、逆に手間を取らせてしまいました
(flashを途中から再生させる→ループで頭に戻る→その後はそのまま全てのタイムラインをループ)
この質問にお答え頂いた#2の回答が非常に参考になりました。
#2ご回答の通り書き足してflashを書き出した所
希望の 途中から再生し、全ループするflashができました。
本当にありがとうございました。
No.1
- 回答日時:
とりあえず,
具体的状況(ムービーの構造など)がわかりません。
以下は私が勝手に推測した(決めた)状況での回答です。
また,お持ちの Flash のバージョンも
ご使用の ActionScript のバージョンすらも書かれていらっしゃらないため本来は全く回答できません。
が,mcimg._totalframes と書かれていらっしゃる部分から少しは推測できます。
この部分から
ActionScript のご使用バージョンは少なくとも 3.0 ではないということがわかります。
またこの部分から
ステージ上には内部が複数フレームからなる「mcimg」というインスタンス名を付けたムービークリップが存在していて
ActionScript でその「mcimg」内の表示フレームを切り替えているのではないかとも推測されます。
ムービークリップ「mcimg」の内部の各フレームには
「単なる画像」が置いてあるだけであるものとします。
つまり
ムービークリップ「mcimg」の内部の各フレームには
内部で フェードイン/アウト するムービークリップは置いていないものとします。
(つまり,ムービークリップ「mcimg」の内部には フェードイン/アウト する仕組みが何も仕組まれていないものとします。)
また,ムービークリップ「mcimg」を フェードイン/アウト させること以外のスクリプトは存在しないものとします。
その場合
スクリプト全文を次のようにすれば
> ''画像が表示''→アルファの白い画面→ループ
のようなものができると思います。
-----------------------------------
//フェードアウト/インさせるスピードを設定
var fade_spd = 4;
//完全表示させる秒数を設定
var show_sec = 2.5;
//変数 loop_cnt が未定義であれば
if (loop_cnt == undefined) {
//変数 loop_cnt の値を1にする
loop_cnt = 1;
//±を決める変数を用意
plus_minus = -1;
//「mcimg」内の再生を停止
mcimg.stop();
//「mcimg」のアルファを100にする
mcimg._alpha = 100;
//
//繰り返して遅延実行
var ID = setInterval(function () {
//関数fadeOutInを毎フレーム実行
mcimg.onEnterFrame = fadeOutIn;
//遅延実行の繰り返しをやめる
clearInterval(ID);
}, show_sec*1000);
}
//フェードアウト/インさせる関数を定義
function fadeOutIn() {
//
//「mcimg」をフェードアウト/イン
mcimg._alpha += plus_minus*fade_spd;
//
//「mcimg」のアルファが0以下になれば
if (mcimg._alpha<=0) {
//loop_cnt の値が「mcimg」内のフレーム数以上になれば
if (loop_cnt>=mcimg._totalframes) {
//loop_cnt の値を1に戻す
loop_cnt = 1;
} else {
//それ以外は loop_cnt の値に1を加算
loop_cnt++;
}
//
//「mcimg」内のフレームをloop_cntフレームに進めて停止
mcimg.gotoAndStop(loop_cnt);
//±を決める変数を+にする
plus_minus = 1;
//「mcimg」のアルファが100以上になれば
} else if (mcimg._alpha>100) {
//関数fadeOutInを毎フレーム実行するのを解除
delete mcimg.onEnterFrame;
//±を決める変数を-にする
plus_minus = -1;
//
//繰り返して遅延実行
ID = setInterval(function () {
//関数fadeOutInを毎フレーム実行
mcimg.onEnterFrame = fadeOutIn;
//遅延実行の繰り返しをやめる
clearInterval(ID);
}, show_sec*1000);
}
}
-----------------------------------
一応
Flash MX 以上(MX,MX2004,8,CS3,CS4,CS5,CS5.5 のいずれか)をお持ちで
ActionScript 1.0 (または 2.0) を使う設定で
Flash Player 6 以上用の SWF をパブリッシュするものと想定しています。
(例えば Flash Lite 1.1 用SWFパブリッシュ や Flash 5 使用などは想定外)
ただ思うのですが...
仮にこれだけのことをするだけであるなら
ActionScript など使わず モーショントゥイーン で普通に(ちゃんと)作れば良いだけだと思いますが。
また上記で回答したものとは全く違うものを作成されている可能性も大大大です。
その場合は悪しからず。
~#2へ続く~
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- HTML・CSS 画像が分割されて切り替わる、ループアニメーションが作りたい 7 2023/05/27 17:12
- 画像編集・動画編集・音楽編集 Adobeのプレミアプロ(premiere pro)を使って動画編集をしている者です。 先日最新版の 1 2023/03/13 21:08
- Windows 10 Windows10 の設定?について (長文ですがよろしくお願いします)m(_ _)m 3 2022/05/14 12:22
- マルウェア・コンピュータウイルス FlashPlayerの削除とマルウェア感染について 5 2023/02/23 20:52
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- その他(ブラウザ) IE・edgeで日増しに観られるサイトが減ってくる。 1 2022/10/04 22:40
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ゲオでカードを作るのは何歳か...
-
フラッシュゲームアーカイブ2
-
レジリエンス 変換キーが作動し...
-
この曲はなんでしょう?
-
arduino プログラムについて
-
FLASHの再生はできないのでしょ...
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
VBAのコンボボックスの年月表示...
-
Adobe Flash Player
-
Windows10重い
-
uwscでExcelに自動記入
-
パソコンのリカバリーについて
-
iPhoneです。 Adobeフラッシュ...
-
Adobe(マクロメディア)のFLAS...
-
ヘッダーデザインをするさい形...
-
更新されて起きた問題
-
googlechromeでadobeflashplayer
-
Flash playerを有効にするには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WEBブラウザの重複起動の禁止
-
Flashでのゲーム用アナログ時計...
-
ムービーの早送りと巻き戻しが...
-
ボタンで移動する前に、特定のM...
-
Error#1009 時計のシーン移動ボ...
-
Flash Professional CS5
-
ループ再生のflashをタイムライ...
-
画像がランダムに表示されるFLA...
-
ActionScriptの基本的な部分で...
-
キーボードを押した時のムービ...
-
【ActionScript】命令文を再実...
-
FLASH lite1.1での質問というか...
-
画像をランダムに表示させたい
-
深い階層でのムービークリップ...
-
Flash lite1.0の計算クイズ
-
プルダウンメニューとフェード...
-
loadMovieで読み込んだswf
-
外部画像を読み込み、ボタンで...
-
Flashで右クリックメニューにつ...
-
フレーム内に移動したい
おすすめ情報