初めまして。
初心者につき、基本的な事だとは思うのですが、調べても分からなかったため、こちらで質問させて頂きたいと思います。
3つのムービークリップ(a_mc,b_mc,c_mc)【フレーム数30】と、
各々を再生させるためのボタン(A,B,C)を使って、
b_mcを再生中にAのボタンを押すと、b_mcを巻き戻した後で、
a_mcを再生するといった感じで3すくみのような状態にしたいのですが、b_mcの巻き戻しとa_mcの再生が同時に行われてしまいます。
現在のActionScriptは以下のようなものなのですが、どなたかご教授願えませんでしょうか?
よろしくお願いいたします。
ボタンAのスクリプト
on (release) {
//Cの巻き戻し
_root.c_mc.onEnterFrame = function() {
if (this._currentframe>=2) {
this.prevFrame();}
else
{delete this.onEnterFrame}
}
//Bの巻き戻し
_root.b_mc.onEnterFrame = function() {
if (this._currentframe>=2) {
this.prevFrame();}
else
{delete this.onEnterFrame}
}
//BでもCでもないときの判別式?
//Aの再生
_root.a_mc.onEnterFrame = function() {
if (this._currentframe<=29){
this.gotoAndPlay(this._currentframe);
delete this.onEnterFrame}
}
}
No.1ベストアンサー
- 回答日時:
たぶんこれで行けると思います。
a_mc を動かすボタンに書くスクリプト
on (release) {
// カウント用変数 cnt の初期化
cnt = 0;
//Cの巻き戻し
_root.c_mc.onEnterFrame = function() {
if (this._currentframe>=2) {
this.prevFrame();
} else {
// カウント用変数 cnt に 1 を加算
cnt++;
// もし cnt が 2 であれば
if (cnt == 2) {
// a_mc を再生
_root.a_mc.play();
}
delete this.onEnterFrame;
}
};
//Bの巻き戻し
_root.b_mc.onEnterFrame = function() {
if (this._currentframe>=2) {
this.prevFrame();
} else {
// カウント用変数 cnt に 1 を加算
cnt++;
// もし cnt が 2 であれば
if (cnt == 2) {
// a_mc を再生
_root.a_mc.play();
}
delete this.onEnterFrame;
}
};
}
ちなみに
b_mc を動かすボタンのスクリプト
on (release) {
// カウント用変数 cnt の初期化
cnt = 0;
//Aの巻き戻し
_root.a_mc.onEnterFrame = function() {
if (this._currentframe>=2) {
this.prevFrame();
} else {
// カウント用変数 cnt に 1 を加算
cnt++;
// もし cnt が 2 であれば
if (cnt == 2) {
// b_mc を再生
_root.b_mc.play();
}
delete this.onEnterFrame;
}
};
//Cの巻き戻し
_root.c_mc.onEnterFrame = function() {
if (this._currentframe>=2) {
this.prevFrame();
} else {
// カウント用変数 cnt に 1 を加算
cnt++;
// もし cnt が 2 であれば
if (cnt == 2) {
// b_mc を再生
_root.b_mc.play();
}
delete this.onEnterFrame;
}
};
}
BlurFiltan様、お返事が遅くなってしまい申し訳ございません。
ご教授頂いたスクリプトで無事に作動致しました。
実は最初にお返事に気付かず、
ムービークリップを3フレームに配置
ボタンも各々キーフレームを作成し、フレーム毎にスクリプトを変える
という全くスマートでは無い方法で作成して満足してました(苦笑)
ActionScriptは奥が深いですね。
本当に参考になりました。
ありがとうございます。
↓不細工な力技…
//b_mcの入っているフレーム(2)でボタンAを押した場合
on (release) {
//b_mcの巻き戻し
_root.b_mc.onEnterFrame = function() {
if (this._currentframe>=2) {
this.prevFrame();}
else{
delete this.onEnterFrame
//a_mcの入っているフレーム(1)の再生
gotoAndPlay(1)
_root.down_mc.onEnterFrame = function() {
if (this._currentframe<=40){
this.gotoAndPlay(this._currentframe);
delete this.onEnterFrame}
}
};
}
}
No.2
- 回答日時:
以下、新規ファイルでひとまず試してから応用してね。
まず_rootに30フレームのムービークリップを作って下さい。
モーショントゥイーンさせておくと分かりやすいかもよ。
それを右に2つ複製し、それぞれA・B・Cと名付けます。
A・B・Cを下に複製し、D・E・Fと名付けます。
_root上に6つのムービークリップがある事を確認して、
_rootのフレームに以下を記述。
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
M_ARY = [A, B, C];
B_ARY = [D, E, F];
for (var i = 0; i < M_ARY.length; i++) {
M_ARY[i].stop();
B_ARY[i].stop();
B_ARY[i].MC = M_ARY[i];
M_ARY[i].onEnterFrame = function() {
if (this.FLG != 1) {
this.gotoAndStop(this._currentframe - 1);
} else {
this.gotoAndStop(this._currentframe + 1);
}
};
B_ARY[i].onRelease = function() {
for (var i = 0; i < _root.M_ARY.length; i++) {
_root.M_ARY[i].FLG = 0;
}
this.MC.FLG = 1;
};
}
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
zari51様
その作業手順から、何やら魔法でも見ているか、詐欺にでも遭ったような気分でした(笑)
巻き戻し終了後に任意のムービークリップ再生、というのが同時になってしまいましたが、それでもActionScriptの奥深さを感じました。
今後、一生懸命勉強していきたいと思います。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- スピーカー・コンポ・ステレオ MCカートリッジのオススメを教えてください。 お時間割いてくださりありがとうございます。 当方、現在 10 2022/07/04 14:20
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- 英語 英文の経済記事ですが、 4 2022/07/23 18:01
- 英語 "this day"が当日か今日を表すのかの使い分け方等について 5 2023/08/08 14:29
- 英語 英語の仮定法について If he were in this age, that man would 1 2022/12/12 23:52
- BTOパソコン https://www.youtube.com/watch?v=8h8EVXotOwQ&t=14s 2 2022/12/23 02:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで改行の入ったデータの正規...
-
arduino プログラムについて
-
コモンダイアログのshowopenに...
-
テキストボックスの中身をリセ...
-
別のアプリケーションのテキス...
-
シンボル化解除の方法
-
VBScriptでMsgBoxのYesNoボック...
-
テキストボックスにセルの値を...
-
四乗根を英語で言うと・・・
-
VB6.0 でメニューを作りたいん...
-
pythonの画像の貼り付けについて
-
SNMPの標準MIBについて
-
YOASOBI
-
マスクをとるとオーバーフロー...
-
マウス自体の移動量の取得
-
else if文の順序を変えることに...
-
PYTHONのtkinterについて
-
ダブルクリックと2回クリックの...
-
UWSCのBTN関数について。
-
Python でシャットダウンのコマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで改行の入ったデータの正規...
-
VBAユーザーホームテキストボッ...
-
外部SWFファイルを再生バーでコ...
-
縦横比率のを変えずに画像のサ...
-
テキストファイルから読み込ん...
-
自由線とレイヤー画面との位置関係
-
ピクチャーコントロールのデバ...
-
四角形の端っこをドラッグした...
-
AS3でうまく動作しません
-
看護師です。体温表のマクロを...
-
AS3.0 でフェードイン、
-
ステージの背景画像のみ拡大縮...
-
AS3 mc0~5をまとめて処理する
-
AS3.0でマウスボタンの状態を調...
-
AS3.0 設置した画像を次のラベ...
-
外部より取り込んだ.swfのサイ...
-
spriteで直線を引いたときに線...
-
xmlから作ったサムネールを移動...
-
Flash マウスの位置で速さの変...
-
flash ブラウザのサイズに合わ...
おすすめ情報