モジュールタイプ(どんなタイムラインに置いてもそのタイムラインを制御できる)のビデオコントロールボタンを作成したのですが、どうしても停止ボタンのスクリプトにエラーがでます。
私は停止ボタンを押すと、制御したいタイムラインの1フレーム目にムービーが戻って停止するようにしようと、スクリプトを組みました。その際、停止ボタンに当てたスクリプトは、
on(release)
_parent.gotoAndStop{_parent.1};
です。{}の中のドットのあとの1というのは、
制御したいライムラインの1フレーム目を意味しようとしたのですが、間違っている気もします。。。
1つ上のタイムラインの1フレーム目を指定するには、どのようにスクリプトを書けばいいのでしょう?
また、どうしてもわからないので、
ルートタイムラインの1フレーム目に、ラベルで「start」とつけて、先ほどの{}の中を
{_parent."start"};
としても、駄目でした。
ちょっと意味が通じにくかったかもしれませんが、
アドバイスいただけたら嬉しいです。
再生、一時停止、巻き戻し、早送り
のボタンについてはうまくできました。
No.2ベストアンサー
- 回答日時:
あ、なるほど、モジュールってつまり、MCのなかに入れてパックにしたという意味だったのですね;失礼しました。
目からウロコだったのでためしてみましたが、_parent._currentframeというのはたしかにアクセス可能なプロパティですね。「_parent._currentframe」がプロパティだというのは、考えてみればたしかに道理でした。
私としては「_parent」に「_currentFrame+1」の命令を出す、とはじめは思ったのですが、「_parent._currentFrame」というプロパティに「+1」の命令を出す、というのが正確な考え方のようです;(いや、ほんとに目からウロコ‥「プロパティにアクセス」→「命令を出す」は、たしかに動くはず!前回の回答は私の勘違いでした、すみません)
なので_parent.1という「プロパティでないもの」にはアクセスできないのでしょう(相手がいないから)。
_parent.gotoAndStop(_currentFrame+1)でも、_parentのフレーム移動が起きますが、どうも、なぜか一度作動したきりボタンがうごかなくなる?ようです(私のテスト環境のミスかもしれませんが‥)うーん‥‥常になんかいクリックしても1フレームずつとばしたいとき、とかは_parent.currentframeとかを使ったほうがいいということかもしれませんね。
>プロパティ表記を使う場合は、flash自体が現在のムービークリップのプロパティだと判断してしまう
そうですね。というか、基本的に、プロパティ表記の_xとかは、this._xとかの「this」が省略された状態で、フラッシュのルールとして「this._xならthis.は省略していい」ということになってるので、this.以外のプロパティにアクセスしたいときは_parent.などのパスが必要になるということですね。
あと、前の回答と重複するラベル指定の話ですが、
on(release){
_parent.gotoAndStop("ラベル");
}
でとぶと思います。
いい勉強になりました(^^;
では。
ありがとうございました。
私も今回は非常にべんきょうになりました。
モジュール式はけっこう使いまわしがききそうですね。
また、宜しく御願いします。
奥が深い深い、アクションスクリプト!
ありがとうございました。
No.1
- 回答日時:
えーと、結論からいくと、
ボタンがその「制御したいタイムライン」に置いてある場合(_rootなら_root上、別のムービークリップならその中に)、命令は
on(release){
this.gotoAndStop(1);
}
だけでいいです。ボタンは「自分自身」(this)として、「自分のいるタイムライン」を参照するからです。_parentを入れてしまうと、そのボタンをムービークリップに入れ子にした場合、「そのムービークリップ」ではなく「そのムービークリップの親」を呼びにいってしまいますよ。
で、余談ですが、もし相対パスで_parent.に命令を出したい場合、
on(release){
_parent.gotoAndStop(1);
}
ですね。ラベルがあるなら
on(release){
_parent.gotoAndStop("ラベル名");
}
です。で、うしろの引数に{_parent.1}みたいに相対座標を入れることは出来ません。相対座標はすでに_parent.goto..の時点で指定されていて、命令はその座標めがけてとんでいってくれています。
ところで「再生、一時停止、巻き戻し、早送り」のボタンについて気になるんですが‥‥;_parent.を使ってた場合、前述したような問題が出ると思われます。一度、そのボタンを別のMCのタイムラインに配置し、そのボタンの作動を確認してみたらどうでしょう?そのMCのタイムラインではなく_rootのタイムラインを動かしてしまうと思います。
この回答への補足
回答有難うございます。
結論からいきますと、
on(release){
_parent.gotoAndStop(1)1};
でうまくいきました。
ところで、
私の書き方がまずかったのですが、このボタン群は、
ムービークリップ上に存在するものなのです。
そのボタンセットを含むムービークリップを一つのタイムライン上に置くという方法です。
ですので、他の「再生、一時停止、巻き戻し、早送り」のボタンについては、問題なく_parentで指定できて、動作も問題ないんです。
(書籍ラーニングactionscriptのP327を参考にしています)
その際、たとえば、巻き戻しの場合は、
_parent.gotoAndPlay(_parent.currentframe-5)
として_parentに4フレームずつ戻るように指定しました。
このときは、()のなかに_parentをしっかり入れても、
_parentのcurrentframeを指定できているんですよね・・
私の憶測ですが、currentframeというのは、プロパティであり、()の中に_parentのプロパティを表記する場合は、_parent.をプロパティ(currentframe)の前につけなくてはならなくて、
(1)というように、1フレーム目だけを指定する場合は、
指定場所が_parentであっても、()の中に_parentの表記は必要がないという解釈でいいのでしょうか??
少し、伝わりにくい文章かもしれませんが、
プロパティ表記を使う場合は、flash自体が現在のムービークリップのプロパティだと判断してしまうから、_parentを前につける必要がある・・・との憶測です。
伝わっていないですかね・・・・
できれば、もう一度アドバイス御願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ブルーレイ・プレーヤー・レコーダー シャープ BD-S520 録画中の一時停止画面 4 2022/10/13 17:59
- スピーカー・コンポ・ステレオ レコード針の置きっぱなしについて 普段レコードをよく聴くのですが、曲が終わって再生停止ボタンを押して 5 2022/07/29 11:22
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- 電車・路線・地下鉄 山手線で、緊急でもないのに非常停止ボタンを押して駅員に怒られる動画がありましたが、 イタズラや緊急で 6 2023/03/05 12:49
- Android(アンドロイド) AQUOS sense6sの物理ボタン(アシスタントキー)に再生・一時停止を割り当てる方法 2 2022/08/09 00:37
- メルカリ メルカリでメルカリ便の発送を停止されてしまいました。 間違えて発送完了ボタンを押してしまい、バーコー 1 2022/04/26 23:08
- その他(IT・Webサービス) U-NEXTの解約ができません 2 2022/11/19 18:35
- スピーカー・コンポ・ステレオ USBボリュームコントローラーでミュートのボタンを押してもitunesなどの再生・一時停止の機能と連 2 2023/05/07 19:08
- その他(パソコン・周辺機器) アイ・オー・データ ビデオキャプチャー GV-USB2で録画できない 0 2023/01/09 14:57
- YouTube 最近スマホでYouTubeやツイッチで動画を見ていると急に一時停止することがあります。画面を触ってい 5 2023/07/09 18:23
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel:コマンドボタンの移動
-
押したボタンの位置取得(共通の...
-
コマンドボタンを押すたびに大...
-
スクロールしてもボタンを常に...
-
PPTのコマンドボタンがクリック...
-
エクセルVBAでOptionButtonのオ...
-
ShowAllDataのエラーを回避したい
-
エクセルVBA シート上にあるコ...
-
エクセルVBA
-
InDesignには「1段階戻る」の...
-
エクセル:マクロボタンが編集...
-
Accessのコマンドボタンの立体...
-
Accessユーザーフォームでコマ...
-
実行中の作業を中止させるコマンド
-
Excel VBA --- コマンドボタ...
-
EXCELでNo.を変えて印刷したい
-
コマンドボタンで「終了ボタン...
-
Notesのメッセージボックスにつ...
-
エクセルでマクロを使わずに複...
-
エクセル ハイパーリンク先で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel:コマンドボタンの移動
-
コマンドボタンを押すたびに大...
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
コマンドボタンがあるかどうか...
-
エクセルVBAでOptionButtonのオ...
-
エクセルVBA シート上にあるコ...
-
Excel VBA --- コマンドボタ...
-
エクセルVBA
-
Accessのコマンドボタンの立体...
-
PPTのコマンドボタンがクリック...
-
コマンドボタンで「終了ボタン...
-
EXCELでNo.を変えて印刷したい
-
エクセルのコマンドボタンの位...
-
ShowAllDataのエラーを回避したい
-
[ExcelVBA] コマンドボタンを押...
-
実行中の作業を中止させるコマンド
-
Wordでドラッグした文字列を括...
-
Accessユーザーフォームでコマ...
-
マクロ登録ボタンに色をつける
おすすめ情報