• 締切済み

stopとplayを兼ね備えたボタン

flashで静止画を送る、というものを作っています。 自動で再生するようにしているのですが ボタン一つでstopとplayの両方をコントロールできる ようにしたいのですが、やり方が分かりません…。 on (press) stop and(or) play などと記述してみましたが 効果なく^^; どなたがご教授御願いします!

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

お持ちの Flash のバージョン(例 Flash 5,Flash MX,Flash 8,Flash CS3)もわかりませんし, 使用されている ActionScript のバージョン(例 ActionScript 1.0,ActionScript 3.0)もわかりません。 さらにパブリッシュしようとされている SWF の Flash Player のバージョン(例:Flash Lite 1.0,Flash Player 5,Flash Player 9)もわかりませんので何とも言えません。 どのバージョンであっても,回答できる漠然な方法であれば回答できなくもありません。 Flash 4 以上 をご使用,もしくは Flash Lite 1.0 以上 用の SWF をパブリッシュする場合は, 何かフラグとなる変数を用意して, そのフラグによってボタンの動作を変えれば良いと思います。 (ただし Flash 3 には変数がないので フラグ を別の方法で立てる必要があります。) ActionScript 1.0 のそれもかなり基本的な方法で書くとするなら, メインムービーのタイムライン(いわゆる _root)のフレーム1などに次のような2行スクリプトを書いておきます。 (頭に「//」がついたコメント行を加えると4行スクリプトです。) ----------------------------------------------------------- // このタイムラインをとりあえず停止 stop(); // 勝手に命名した「flag」という名の変数に 0 を代入しておく flag = 0; ----------------------------------------------------------- そしてボタン自体には次のように書きます。 ----------------------------------------------------------- // このボタンをクリックしたときに{}内を実行 on (release) { // もし _root に定義した変数flagの値が 0 であれば if (_root.flag == 0) { // _root のタイムラインを再生 _root.play(); // そして flag の値を 1 にする _root.flag = 1; // _root に定義した変数flagの値が 0 でない場合は } else { // _root のタイムラインを停止 _root.stop(); // そして flag の値を 0 にする _root.flag = 0; } } ----------------------------------------------------------- > やり方が分かりません…。 やり方を「知ろう」とするのではなく, やり方を「考える」ということが大切です。 知識より思考です。 「変数」というものの存在を知れば, あとはそれをどう使うかが問題になります。 初歩的であっても上のように理論的に筋道を立てて考えることが大切です(どのバージョンであっても)。

関連するQ&A