- ベストアンサー
写真館作成におけるボタンの入れ替え方法
- Flash MX 2004を使用して写真館(アルバム)を作成しています。写真を表示するステージと10個のボタンを配置し、ボタンをクリックすると写真をステージに写すようにしています。ボタンの色を変化させる方法について教えてください。
- 1つのswfファイルに1つのステージと10個のボタンを配置しています。ボタンをクリックすると写真をステージに写すようにしていますが、クリックしたボタンを識別するためにボタンの色を変化させたいです。具体的なアクションについて教えてください。
- Flash MX 2004を使用して写真館(アルバム)を作成しています。ボタンをクリックすると写真をステージに写すようにしていますが、クリックしたボタンを識別するためにボタンの色を変化させたいです。アップ状態とオーバー状態で色を変える方法について教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
基本的にそういう勝手に作ったルールは, Flash作成側でゼロから用意しないとなりません。 >> どんなアクションを加えたらいいのか 当然,そんなアクション(スクリプト)も用意されていないので, 自分で考えて仕組みを作るしかありませんね。 と言っても, 調べるも何もなく,ちょっと考えてください。 そうすればいくらでも方法は出て来ると思います。 組み合わせまで考えると,本当に無数の方法があります。 方法がありすぎて回答のしようもありませんが,1例だけ。 ムービークリップ内にボタンを用意し, ムービークリップ内のフレームを動かして, 1度目と2度目以降を違うボタンにすり替える。 手順 --- 1 --- 「アップ」→緑、「オーバー」→青 のボタンをさらにムービークリップに変換する。 --- 2 --- そのムービークリップをダブルクリックし,ムービークリップ内の編集に入り, タイムラインを2フレーム2レイヤーにする。 □ レイヤー 筆・・|○ []| ←スクリプト用レイヤー □ レイヤー 筆・・|●//[]| ←ボタン用レイヤー --- 3 --- ボタン用レイヤーの2フレームをキーフレームにし, 「アップ」→赤、「オーバー」→青 のボタンを用意する。 □ レイヤー 筆・・|○ []| ←スクリプト用レイヤー □ レイヤー 筆・・|●|●| ←ボタン用レイヤー --- 4 --- スクリプト用レイヤーのフレーム1に stop(); を書く。 --- 5 --- 「アップ」→緑、「オーバー」→青 のボタンに on (release) { // ←写真を表示するスクリプトをココに書く this.gotoAndStop(2); } と書く。 --- 6 --- 「アップ」→赤、「オーバー」→青 のボタンに on (release) { // ←写真を表示するスクリプトをココに書く } と書く。 以上で出来上がり。 ただし,ムービークリップの中にボタンが入っているので, 階層が変わるため, 相対パスもしくはパスなしでスクリプトを書いている場合は, 絶対パスにしたほうが間違えにくいかもしれません。 例 on (release) { photoMC1.loadMovie("p1.jpg"); } ↓↓↓変更↓↓↓ on (release) { _root.photoMC1.loadMovie("p1.jpg"); } =========================== 何と言うことはないでしょう。 こんなのを考えるだけです。 ボタンは最初からボタンシンボルで作らず,ムービークリップで作っておいて, クリックされる度に違うフレームに飛んでも良いですし, クリックするとそのボタンの _visible を false にして, その代わりに同じ座標に違うボタンを持ってくるという方法も考えられますし, 変数フラグを使って切り換えても良いですし, setRGB なんかで,ムービークリップの色を変えても良いかもしれません。 http://www.fumiononaka.com/TechNotes/Flash/FN0307005.html 書かれているようなことは調べてわかることではなくて,考えることだと思います。 私は逆に 1度目のボタンと2度目以降のボタンの色を変えようと思った(考えた)ことがなかったです。 しくみを考えるより,そういう発想が出てくること自体の方がスゴイと思います。 発想はすばらしいのですから,あとは仕組みを考えてください。 そういう根本的なものの発想よりずっと簡単です。
お礼
上記の方法で理想の状態になりました。 変に難しく考えすぎてました。上記だとボタンの数が増えても対応できそうです。 ありがとう御座いました。