![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
No.1ベストアンサー
- 回答日時:
もうすでに自力で解決されていらっしゃるとは思いますが念のため。
。。このご質問の後にされている質問
「ムービークリップを1コマ飛しで再生」
(OKWave系の代表3サイト)
http://oshiete.goo.ne.jp/qa/6787543.html
or
http://oshiete.goo.ne.jp/qa/6787543.html
or
http://oshiete1.nifty.com/qa6787543.html
などなどなど...
ここ↑で書かれていらっしゃる内容(仕様)に従うこととしてよろしいでしょうか?
その場合,次のような感じになると思います。
ステージ上に用意するインスタンスは次の5つであるとします。
「mc」:再生/逆再生などをさせるムービークリップ
「back2_btn」:mc内を高速逆再生させるボタン
「back1_btn」:mc内を逆再生させるボタン
「stop_btn」:mc内の再生を止めるボタン
「next1_btn」:mc内を普通に再生させるボタン
「next2_btn」:mc内を高速再生させるボタン
これらが存在するフレームに書くスクリプト例です。
//==================================
//早送り時のスピードを設定 (★可変)
var high_spd:int = 3;
//特殊再生時のスピードの変数の宣言
var spd:int;
//---↓back2_btn↓------
//「back2_btn」押下時に 関数onBack2Press を実行
back2_btn.addEventListener(MouseEvent.MOUSE_DOWN,onBack2Press);
//関数onBack2Press の定義
function onBack2Press(e:MouseEvent):void {
//特殊再生時のスピードを -high_spd にする
spd = - high_spd;
//共通で使用する関数 commonFunc を実行
commonFunc();
}
//---↓back1_btn↓------
//「back1_btn」押下時に 関数onBack1Press を実行
back1_btn.addEventListener(MouseEvent.MOUSE_DOWN,onBack1Press);
//関数onBack1Press の定義
function onBack1Press(e:MouseEvent):void {
//特殊再生時のスピードを -1 にする
spd = -1;
//共通で使用する関数 commonFunc を実行
commonFunc();
}
//---↓stop_btn↓------
//「stop_btn」押下時に 関数onStopPress を実行
stop_btn.addEventListener(MouseEvent.MOUSE_DOWN,onStopPress);
//関数onStopPress の定義
function onStopPress(e:MouseEvent):void {
mc.stop();
}
//---↓next1_btn↓------
//「next1_btn」押下時に 関数onNext1Press を実行
next1_btn.addEventListener(MouseEvent.MOUSE_DOWN,onNext1Press);
//関数onNext1Press の定義
function onNext1Press(e:MouseEvent):void {
mc.play();
}
//---↓next2_btn↓------
//「next2_btn」押下時に 関数onNext2Press を実行
next2_btn.addEventListener(MouseEvent.MOUSE_DOWN,onNext2Press);
//関数onNext2Press の定義
function onNext2Press(e:MouseEvent):void {
//特殊再生時のスピードを high_spd にする
spd = high_spd;
//共通で使用する関数 commonFunc を実行
commonFunc();
}
//---↓特殊再生用の関数群↓------
//共通で使用する関数 commonFunc の定義
function commonFunc():void {
//毎フレーム 関数specialPlay を実行
mc.addEventListener(Event.ENTER_FRAME,specialPlay);
//stageからマウスアップ時に 関数onStageUp を実行
stage.addEventListener(MouseEvent.MOUSE_UP,onStageUp);
}
//関数specialPlay の定義
function specialPlay(e:Event):void {
//spdが正の数で mc内のフレームが最終フレームに達したとき
if (spd >= 0 && mc.currentFrame == mc.totalFrames) {
//mc内フレームをフレーム1に戻す
mc.gotoAndStop(1);
//spdが負の数で mc内のフレームがフレーム1に達したとき
} else if (spd < 0 && mc.currentFrame == 1) {
//mc内フレームを最終フレームに進める
mc.gotoAndStop(mc.totalFrames);
}
//mc内のフレームを spdフレーム 進めて停止
mc.gotoAndStop(mc.currentFrame + spd);
}
//関数onStageUp の定義
function onStageUp(e:MouseEvent):void {
//毎フレーム 関数specialPlay を実行するのをやめる
mc.removeEventListener(Event.ENTER_FRAME,specialPlay);
//stageからマウスアップ時に 関数onStageUp を実行するのをやめる
stage.removeEventListener(MouseEvent.MOUSE_UP,onStageUp);
//「mc」内タイムラインの再生を開始 (★要る?)
mc.play();
}
//==================================
特殊再生である
「高速逆再生」と「逆再生」と「高速再生」は結局どれも同じことをさせています。
メインは関数 specialPlay(エッチなプレーや変態プレーではありません) です。
同じことをさせるのですが,
それぞれのボタンによって
関数specialPlay を実行させるときの変数spd(スピード)の値を変えています。
この spd の値だけが違う部分です。
こうしておけば,ほとんど同じ関数を何度も定義する必要がなくなりますよね。
![「AS3でムービークリップ再生・早送り・巻」の回答画像1](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/1/1373636_5497e51467e48/M.jpg)
この回答へのお礼
お礼日時:2011/06/06 21:32
BlurFiltan 様
引き続きありがとうございます。
自力で頑張っていたのですが・・・・うまく動かず困り果てていました。
動きました。助かりますありがとうございます。
アクションスクリプトは、まだ理解できませんが負けずに勉強します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- YouTube YouTubeのホーム画面自動再生の際の早送り 1 2022/08/05 18:21
- スピーカー・コンポ・ステレオ カセットデッキの修理についての質問です。 DENONのカセットデッキDRR-M31の早送りと巻き戻し 6 2022/05/27 20:57
- ブルーレイ・プレーヤー・レコーダー DVD・ハードディスクプレーヤーの扱い方 2 2022/09/10 22:30
- スピーカー・コンポ・ステレオ レコード針の置きっぱなしについて 普段レコードをよく聴くのですが、曲が終わって再生停止ボタンを押して 5 2022/07/29 11:22
- その他(ネットショッピング・通販・ECサイト) ネットショッピング(再質問) 1 2022/10/07 11:41
- メルカリ メルカリ 3 2022/06/19 12:42
- iPod・ウォークマン・音楽プレーヤー カセットテープの巻き戻しがうまくできない 6 2023/05/25 17:08
- その他(ネットショッピング・通販・ECサイト) ネットショッピング 6 2022/10/07 10:45
- その他(開発・運用・管理) 巻取り長さを一定にする 2 2023/02/27 13:56
- Google+ ブランド品偽物サイトからのメールを拒否する方法 批判覚悟で投稿します。 とあるサイトからブランド品を 2 2023/01/11 21:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
paraflaのアクションスクリプト...
-
ASではどうやって記述するのか
-
フレームでのResponse.Redirect
-
格闘ゲームのコマンド→↓→のプロ...
-
ActionScript~ロールオーバー...
-
FLASHでシーンをつなげる。
-
読み込んだテキストを Split で...
-
ムービーの早送りと巻き戻しが...
-
フレームからフレームへの移動...
-
suzukaのタイムラインの設定に...
-
左フレームの選択結果を右フレ...
-
Flashで右クリックメニューにつ...
-
フラッシュで逆再生中の停止に...
-
Flash3.0 ループ再生について
-
phpで音を鳴らす
-
ビルダー2001:フレームの保存
-
マスクの形を自由自在に変えたい
-
動画の遅延再生プログラム
-
WindowsMediaVideoをインライン...
-
ビルダー フレームページから...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
三角形ABCのBを可変にしたい
-
外部ムービー読込み後 AS が...
-
paraflaのアクションスクリプト...
-
Flash ドラック&ドロップ 色の...
-
mcのスクロール
-
Flash lite 1.1で待受け作成
-
FlashのMCに複数の動作を...
-
AS3.0でムービークリップ制御
-
【AS3.0】Timerとタイムライン
-
ムービークリップを1コマ飛し...
-
FLASH LITE1.1 制限時間を任意...
-
オンマウスでモーションを停止...
-
関数を順番に実行したい AS3
-
FLASHの同一タイムラインで、複...
-
AS3でムービークリップ再生・早...
-
AS3.0でComboBox
-
as3.0でのフレーム移動制御のス...
-
actionscript3.0で親階層にある...
-
フレーム内に移動したい
-
【C#】wavファイルの複数同時再生
おすすめ情報