Flash初心者のための写真ギャラリー制作方法

このQ&Aのポイント
  • Flash初心者でも簡単に写真ギャラリーを制作する方法をご紹介します
  • ボタンのカウント数に応じて写真が移動する動的な写真ギャラリーを作成する手順を解説します
  • 写真のスライド効果を使って、見栄えの良い写真ギャラリーを実装する方法を詳しくご説明します
回答を見る
  • ベストアンサー

ボタンのカウント数でムービークリップの位置が変わるギャラリーの作り方

いつもお世話になっております。 初めて質問させていただきます。 Flashは初心者です。 現在、写真のギャラリーを制作しております。 下記のようにサムネイルを下1列に並べ、上に写真を表示する形です。   ┌─────────┐   │         │ D  │  C    B  │A   │         │   │ ○ ○ ○ ○ ○ │   └─────────┘ ○→ボタン ボタン1を押すと、写真1がAの位置からBの位置へ移動。 ボタン2を押すと、写真1がBの位置からCの位置ヘ移動。 そして、写真2がAの位置からBの位置へ移動。 ボタン3を押すと、写真1はCの位置からDの位置へ移動し、 ステージ上から見えない状態に。 写真2はBの位置からCの位置ヘ移動。 写真3はAの位置からBの位置へ移動。 このようなものを制作しようとしています。 【ややこしい説明で申し訳ございません】 現在、 photo_mcというムービークリップの1フレームごとに、 写真1,2,3を入れて、ボタンのアクションスプリクトに on(press){ //ムービークリップを複製し、指定の位置に配置// obj = _root.attachMovie("photo_mc", "mc01", 1); obj._x = 390; obj._y = 0; //商品画像の決定// _root.mc01.gotoAndPlay(3); } を記入しており、 ボタンをクリックすると、選択したボタンの画像が 指示した場所に表示される、という状態です。 この先の処理にいきづまっております。 ボタンが押されたらrootにおいてあるcountに1を加算 ↓ countにある数字をphoto_mcが取得(?) ↓ その数字に応じて動くどの位置に行くか判断し、移動 というように動かそうとしているのですが、 最初のカウントに1を加算というところでつまづいており、 その先も、可能なのかどうかすらわからない状態です。 なにか別に良い方法があれば、ご教授いただければ幸いです。 どうぞよろしくお願い致します。

  • Flash
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • ryo2501
  • ベストアンサー率46% (15/32)
回答No.1

まず、写真1をムービークリップに変換して、インスタンス名をつけます。 ※ 下記のスクリプトでは[content]としました。 写真1をダブルクリックして、残りの写真をネストします。 ボタンを3つ作り全てムービークリップに変換、同様にインスタンス名を付けます。 ※ 下記のスクリプトでは[btn1 , btn2 , btn3]としました。 スクリプト var ma :Array = [移動させたいX座標 , 移動させたいX座標 , 移動させたいX座標]; var cnt :Number; btn.onPress = function() {  cnt = 0;  onEnterFrame = mover; } btn2.onPress = function() {  cnt = 1;  onEnterFrame = mover; } btn3.onPress = function() {  cnt = 2;  onEnterFrame = mover; } function mover() {  content._x += (ma[cnt] - content._x) / 8; }

onepush
質問者

お礼

回答、ありがとうございます! 丁寧な説明の上、スプリクトまで書いていただけて、 とても勉強になりました! 頂いたスクリプトで実際に実行してみたのですが、 希望の動きとは少し違うみたいです。 説明不足ですみませんでした。 ボタン2を押すと、ボタン2を押した時、指示した場所に戻ってくる、 というのがryo2501様にアドバイスいただいたスプリクトですが、 私の希望としては、ボタン2を押すと、指示した場所に戻るのではなく、 更に新しいmcが作られて、Aの位置からBの位置へ移動する、という ものでした。 希望とは違いましたが、初心者の私としては、とても勉強になる スプリクトでした!本当に感謝しております。

関連するQ&A

  • ムービークリップのボタン化

    menu01_mcというムービークリップをボタンにしたいのですが、 ボタン自体に on (release) { _root.photo_mc.loadMovie("1.jpg"); } と書くと正常に動くのですが、 タイムライン上に menu01_mc.onRelease = function(){ _root.photo_mc.loadMovie("1.jpg"); } と書くと動きません。 どのようにすればいいのでしょうか? わかる方教えてください。よろしくお願いします。

  • ムービークリップ

    ムービークリップをクリックすることによって、 他のムービークリップの位置を変更できますか? もしくは他のムービークリップの複製はできますか? 今はクリックしたムービークリップ(自分自身)の 複製は出来ています。 on (release) { this.duplicateMovieClip("Photo_big", 0); _root.Photo_big._xscale = 80; _root.Photo_big._yscale = 80; _root.Photo_big._x = 350; _root.Photo_big._y = 200; } ちなみに移動したいムービークリップのインスタンス名は text1です。

    • ベストアンサー
    • Flash
  • ボタンによるムービークリップ移動

    flashmx2004/actionscript2.0です。 ボタンにrollOverすると、別の場所にあるムービークリップが所定の位置まで移動する、と言う動きをさせたいと思っています。 ムービークリップがMC1としますと、単純にボタンに MC1._x=0; MC1._y=0; と指定したらその位置に移動はしますが、これのように瞬時に移動ではなく、動きがわかる程度のスピードで動くようにしたいのです。 イメージとしましては画像の上にシャッターのように次の画像が来る形にしたいのです。 フレームをあまり使わず、可能であればボタン1個で動作させたいのですが、どうにも手詰まりです。 ご教授戴ければ幸いです。

    • ベストアンサー
    • Flash
  • ムービークリップ内のボタン

    フラッシュ初心者です。 アクションスクリプトがうまく動かず困っています。 シーン1にムービークリップ1(インスタンス名:mc1)とムービークリップ2(インスタンス名:mc2)が置いてあります。 mc2の中にはボタンAを配置してあり、ボタンAをクリックすると、mc1のフレームラベル(B)に飛ぶような制御をしたいです。 ボタンAに記述してあるスクリプトは以下です。 on (release) { this._parent.mc1.gotoAndplay("B"); } しかしクリックしても全く動きません。 絶対パスで指定してもダメでした。 ちなみに、ためしに、mc1ではなく、シーン1上のフレームラベルに 飛ばすように記述したら普通に動きました。。 何か記述間違いがあるのでしょうか? 分かる方がいましたら教えてください。 お願いします。

  • ムービークリッププロパティの変更

    こんにちは。 ムービークリップA_mcをロールオーバーした時にムービークリップB_mcを表示ロールアウトした時にムービークリップB_mcを非表示にしたいのです。 まずはムービークリップB_mcの_alphaを100にするスクリプトを記述しようとしています。 B_mcはアニメーションですでに_alpha=0でステージにおかれています。 A_mcに on(rollOver){ _root.B_mc._alpha=100; } on(rollOut){ _root.B_mc._alpha=0; } と記述したのですが、表示されませんでした。 試しにと on(rollOver){ _root.B_mc._visible=true; } on(rollOut){ _root.B_mc._visible=false; } としてもだめでした・・・ すみません。原因がよくわからず対処方法もわかりません・・・何方かご教授頂けないでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • ActonScriptでムービークリップの移動

    お世話になります。 a_mc b_mc の2つのムービークリップがあり、 +-のボタンを押すとそれぞれ左右に130pxずつ動くようにスクリプトを記述しています。 (例) on (release) { a_mc._x -=130; b_mc._x -=130; } とか on (release) { b_mc._x -=130; } a_mc、b_mcは一緒にも個別にも移動できるようにしております。 a_mc、b_mcどちらも動くようにして、なおかつボタンを設けてそれを押せばb_mcをどんなに移動させていても 1クリックでa_mcの位置に戻るようにさせたいのですが、どうやったら出来るのか分かりません。 Point.clone()とか使えばいいのかと思ったのですが、a_mcの座標位置が変わるとうまく動きません。 分かりにくい説明で申し訳ないのですが、本当に困っています。 初心者なので分かりやすく説明していただけるとありがたいです。 どうぞ宜しくお願いいたします。 環境: WindowsXP、Flash Professional 8

    • ベストアンサー
    • Flash
  • ムービークリップの制御について

    スクリプト初心者です。 ムービークリップの制御について、まったくわからず困っています (1)シーン1、5フレーム目にムービークリップ、インスタンス名a_mc配置 (2)a_mcの中にb_mc配置。b_mcをクリックすると→a_mcの1フレーム目に移動。もう1度b_mcクリックすると→a_mcの10フレーム目に移動。もう1度b_mcをクリックすると→a_mcの1フレーム目に移動・・・と、 b_mcをクリックするごとにa_mcの1フレーム目、10フレーム目、1フレーム目・・繰り返す制御をしたいのですが。。 どなたか分かる方いましたら 教えてください!!

  • ムービークリップがマウスカーソルを追いかけ、マウスカーソルと同じ位置に来たときにムービークリップを変えたい

    以下のようにスクリプトを書いたのですが ムービークリップがマウスカーソルと同じ位置に来ても ムービークリップがフレーム2に移動しません。 ドラゴンクエストVIIIのトップページのFlashのような 表現をしたいのですがうまくいきません。 http://www.square-enix.co.jp/dragonquest/eight/ _mc.onEnterFrame = function() { this._x += ( _root._xmouse - this._x ) / 5; if( this._x == _root._xmouse ) this._mc.gotoAndStop(2); else this._mc.gotoAndStop(1); }; どうすればこの問題を解決することができるのでしょうか。 ご存知の方がおられましたらご回答をよろしくお願いします。

    • ベストアンサー
    • Flash
  • ムービークリップ再生後の移動

    ボタンが複数あり、1つのムービークリップ再生後に、違うページに移動させることは可能でしょうか? 例 ボタン「A」→ムビークリップ「MC1」→ページ「P1」 ボタン「B」→ムビークリップ「MC1」→ページ「P2」 ボタン「C」→ムビークリップ「MC1」→ページ「P3」 というような感じです。 ボタン「A」があった場合、ムビークリップ「MC1」を再生後、ページ「P1」に移動、ボタン「B」は、ムビークリップ「MC1」を再生後、ページ「P2」に移動といことができればと思っています。 初心者なので、なるべく簡単な方法でどなたか知恵を貸していただけないですか?よろしくお願いします。 「Flash MX2004」で製作しています。

    • ベストアンサー
    • Flash
  • ムービークリップを動かす

    FLASH 5 を使っています。 ボタンを使ってムービークリップを動かそうとしています。 下記のように書いて、ボタンを押した時と 『 ↓ 』 キーを押した時に 『 ●●_MC 』 が -10 ずつ動いて -550 まできたら動かないようにしています。 on (press, keyPress "<Down>") { if (_root.●●_MC._y>=-550) { _root.●●_MC._y-=10; } } 但しこれだとボタンを押す度に -10 ずつ動きますが、何度も押さなければなりません。 『 ↓ 』 キーを押し続けた場合は連続で動きます。 ボタンを押し続けた場合にも、連続で -10 ずつ動かすにはどのように書いたら良いのでしょうか? 間抜けな質問をしているかとは思いますが、不慣れなものですので何卒宜しくお願い致します。

    • ベストアンサー
    • Flash

専門家に質問してみよう