- 締切済み
Flash Professional8 を使っている方で・・・
Flash Professional8 を使っている方でAS記述に詳しい方、 是非、アドバイスお願いします。 現在、Flash Professional8 を使用しています。 Flash Professional8 に入っている「テンプレートから作成」の中から 「写真スライド」を使用して製品の写真をWEB公開しています。 (中の写真を入れ替えて、ASの記述などはそのまま使用しています。) このFlashにローディングバーを設置したいのです。 が、ローディングバーの設置はフレーム1を空けておきますので、 すべてのフレームが後ろにずれる訳です。 そうなると、今までのAS記述のままですと、フレームの最後に行ったあとローディングバーのある1フレームに戻ってしまい、 結局、1フレーム(ローディングバー)→2~5フレーム(写真4枚分)→ 1フレーム と繰り返してしまい、何度もローディングバーが現れる 現象になってしまいます。 どこかに、フレーム指定の命令記述があるのだろうと思うのですが、 どうしてもわかりません。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
一応既存のテンプレートの中には, 「スライドショー - 写真 - モダン」 というものがあります。 これの場合だと, タイムラインが初期状態で隠れていますから, ステージの左上のほうの「タイムライン」をクリックして, まず,タイムラインを表示させてください。 そして, ステージ上の丸い 「<」「>」「>>」 ボタンのある操作用ムービークリップをダブルクリックして, そのムービークリップ内のタイムラインの編集に移ります。 ムービークリップ内のタイムラインは3レイヤーになっていて, 一番上のレイヤー A がActionScript を書いているレイヤーになっています。 一番上のレイヤーを図示↓ ------------------------------------ 1 □ A 筆 ・ ・ |○| ------------------------------------ その フレーム1 の空白キーフレーム(○) を選択して, 下のアクションパネルを表示させます。 ところで, > 結局、1フレーム(ローディングバー)→ > 2~5フレーム(写真4枚分)→ > 1フレーム と繰り返してしまい、… と書かれているのは,「>>」 の自動再生ボタンをクリックしたときのことですよね。 自動でループ再生するので フレーム1 に戻ってしまいます。 ここだけの訂正だと, 修正するのは1箇所なのですが, 写真の枚数表示や,「<」の戻るボタンの処理も必要だと思ったので, 修正箇所は3箇所になります。 A というレイヤーの フレーム1 を選択して, アクションパネル を開くと,スゴク長いスクリプトが書いてありますね。 どこをどう修正すべきか説明するのが大変で, 理解するのも大変だと思いますので, 全文をコピーしておきます。 ★印のある3箇所が修正する箇所です↓。 //////////////////////////////////////////////////////////////////////// function updateFrame (inc) { // send slides to new frame newFrame = _root._currentFrame + inc; _root.gotoAndStop(newFrame); updateStatus(); // ★ココを変更↓ 戻るボタンの動作変更 if (_root._currentFrame == 2) { prevBtn.gotoAndStop(2); } else { prevBtn.gotoAndStop(1); } if (_root._currentFrame == _root._totalFrames) { nextBtn.gotoAndStop(2); } else { nextBtn.gotoAndStop(1); } } function updateStatus () { // ★変更↓ 「○ of ○」(○枚中○枚) の変更 _root.statusField = (_root._currentFrame-1) + " of " + (_root._totalFrames-1); } function autoplayInit () { startTime = getTimer(); hideControls(); updateStatus(); } function autoplay () { if (autoplayStatus != 0) { // get the current time and elapsed time curTime = getTimer(); elapsedTime = curTime-startTime; // update timer indicator indicatorFrame = int(4/(delay/(elapsedTime/1000))); indicator.gotoAndStop(indicatorFrame+1); // if delay time if met, goto next photo if (elapsedTime >= (delay*1000)) { if (_root._currentframe == _root._totalframes) { // ★変更↓ 自動再生ボタンの制御変更 _root.gotoAndStop(2); } else { _root.nextFrame(); } autoplayInit(); } } } function hideControls () { nextBtn.gotoAndStop(2); prevBtn.gotoAndStop(2); } updateFrame(); autoplayStatus = 0; //////////////////////////////////////////////////////////////////////// ここのコミュニティの板は, 「TAB」や「半角空白文字」が行の先頭に入ると, その,「TAB」や「半角空白文字」が全て消えるため, インデントが消えてしまいますから, 見かけとは少し形が違うとは思いますが, 上のスクリプトが修正入り全文コピーになります。 ActionScript などの修正はここだけです。 他の場所に書いてあるスクリプトは特に修正する必要はないと思います。 以上でおそらくうまく行くと思いますよ。
お礼
sassakun 様 先日から色々とありがとうございました。 上記のアドバイスのとおり早速作業してみました。 ムービーを再生したところ、問題なく動くことができました。 明日、WEB上に載せて、もう一度確認してみます。 先日より、大変丁寧な返信をいただき、本当にありがとうございました。とても助かり、感謝いたしております。 これからも勉強してまいります。 本当にありがとうございました。