• ベストアンサー

Flashでの質問です。

写真を左から右に速くループしてだんだんゆっくり動かしていくにはどうしたらいいでしょうか?いろいろ調べましたがわかりません。as使用でもなんでもかまいません。 どなたかご存知の方どうか教えてください。よろしくお願いいたします。

  • vaoi
  • お礼率48% (28/58)

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

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

#1です。 もし Flash CS3 以上をお持ちでしたら 「今どき ActionScript 1.0 なんて古すぎる!」 などと思われる可能性も高いので #1 とほぼ同じものを ActionScript 3.0 で作る方法も書いておきます。 状況は基本的に #1 と同じで 写真は複数枚あって その写真を横に並べたときにステージの横幅を超えるものとします。 また その写真コピペで2倍の枚数に増やして引っ付けて横に並べたものを 基準点左上のムービークリップ(以下 MC と略)に変換したとします。 ここまでは同じです。 ActionScript 3.0 の場合 選択したMC自体にスクリプトを書くことはできません。 ですから作成したMCを選択して 「プロパティ」パネルを表示させ   [ <インスタンス名> ] となっている欄でそのMCにインスタンス名を付けます。 ※「プロパティ」パネル(インスペクタ)は   CS3の場合デフォルトではステージの下,   CS4とCS5の場合デフォルトではステージの右に   あります。 ここではMCに 「photo_mc」というインスタンス名を付けたとしておきます。 その「photo_mc」があるレイヤーとは別に 新規レイヤーを追加し そのレイヤーの空白キーフレームに次のようなスクリプトを書きます(コピペ可)。 --------------------- //最初に動く速さを設定 var speed:Number = 50; //減速度合いを設定 var down_speed:Number = 0.4; //photo_mcに毎フレーム時間で関数moveMCを //実行するイベントリスナーを登録 photo_mc.addEventListener(Event.ENTER_FRAME,moveMC); //関数 moveMC の定義 function moveMC(e:Event):void{ //speed の値が 0 より大きい場合 if (speed > 0) { //speed の値をdown_speedだけ減算 speed -= down_speed; //speed の値が 0 以下になれば } else { //speed の値を 0 で固定 speed = 0; //photo_mcのイベントリスナーを削除 e.target.removeEventListener(Event.ENTER_FRAME,moveMC); } // //photo_mcのx座標をspeedだけ右に移動 e.target.x += speed; // //photo_mcのx座標が 0 より大きくなれば if (e.target.x > 0) { //photo_mcの横幅の半分だけ左に移動 e.target.x -= e.target.width / 2; } } --------------------- これでパブリッシュやムービープレビューしてもらうと 書かれていらっしゃるような感じのものはできると思います。 Flash Player 9 以上 で動作可能なスクリプトです。 なお#1の方法も この#2の方法も Flash Lite 1.0 や 1.1(携帯版 Flash Player) には対応していません。 Flash Lite 1.0 や 1.1 は Flash Player 4 相当です。 もしこれら Flash Lite 用の Flash を作る場合は スクリプトのみならずムービーの構造自体を変更する必要があります。 とにかく何にしても「バージョン」が大切です。

vaoi
質問者

お礼

BlurFiltan様 大変わかりやすいご回答ありがとうございました。返事が遅くなりすいません。 バージョンのを書き込むのを忘れていました。CS4のas2.0で作成しようと思っていました。 教えていただいたやりかたで、as2.0とas3.0でどちらでも作ってみました。 思っていた通りに動いてくれました。 速さの変化、そのまま最後に停止せず動き続けるさせたりと、とても勉強になりました。 とても悩んでいたので、ホッとしました。どうもありがとうございました。

その他の回答 (1)

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

バージョンを一切書かれていらっしゃらないため非常に回答がしにくいのですが 無難に Flash 5 (2000年発売版 Flash) 以上をお持ちだとして回答します。 Flash 5 以上 とは Flash 5,MX,MX 2004,8(CS2),CS3,CS4,CS5,… のことです。 Flash 5 では ActionScript 1.0 しか使えません。 もし Flash CS3 以上をお使いの場合は ドキュメント作成時に ActionScript 2.0 以下バージョンを選択するようにします。 (ActionScript 3.0 は ダメです。1.0 または 2.0 です。) 写真は複数枚あって その写真を横に並べたときにステージの横幅(見える範囲の横幅)を超えるものとします。 またその写真が仮の 「A」「B」「C」「D」「E」 という5枚で それらがステージ上にあったとします。 この場合 5枚の写真をコピペで2倍の10枚に増やして ABCDEABCDE のように引っ付けて横に並べます。 その10枚を全て選択して 「修正」→「シンボルに変換」(Flash MX 2004以上) または 「挿入」→「シンボルに変換」(Flash MX 以下) で 1つのムービークリップ(以下 MC と略) に変換します。 このとき 「基準点」が「左上」になるように設定してMCに変換します。 MCを配置する場所は適当で良いです。 ここまでの状態 【図↓】。 以上のようにして作成したMC自体を選択して アクションパネルを表示させ そこに次のようなスクリプトを書きます(コピペ可)。 --------------------------- //このMCが表示された時に実行 onClipEvent (load) { //最初に動く速さを設定 speed = 50; //減速度合いを設定 down_speed = 0.4; } //毎フレーム時間で実行 onClipEvent (enterFrame) { //speed の値が 0 より大きい場合 if (speed > 0) { //speed の値をdown_speedだけ減算 speed -= down_speed; //speed の値が 0 以下になれば } else { //speed の値を 0 で固定 speed = 0; } // //このMCのx座標をspeedだけ右に移動 this._x += speed; // //もしこのMCのx座標が 0 より大きくなれば if (this._x > 0) { //このMCの横幅の半分だけ左に移動 this._x -= this._width / 2; } } --------------------------- これでパブリッシュやムービープレビューしてもらうと 書かれていらっしゃるような感じのものはできると思います。 speed = 50; と down_speed = 0.4; の部分の 50 とか 0.4 という数値は適当に好みで変えてください。 Flash Player 5 以上 で動作可能なスクリプトです。 ※Flash の質問ではバージョンの明記が不可欠です。   バージョンがわからなければ回答不可能か   勝手なバージョンでの回答しかできません。 ※なるべく "具体的" な説明を書いてください。   具体的な状況がわからなければ   勝手に作った状況での回答しかできません。

関連するQ&A

  • flashで質問したいのですが。

    以前にも教えていただいたのですが、 http://okwave.jp/qa/q6531277.html 写真を左から右にスクロールすることはできたのですが、もうひとつしたいことがありまして質問させてもらいます。 以前は一つのシンボルにasを //このMCが表示された時に実行 onClipEvent (load) { //最初に動く速さを設定 speed = 300; //減速度合いを設定 down_speed = 5; } //毎フレーム時間で実行 onClipEvent (enterFrame) { //speed の値が 0 より大きい場合 if (speed > 10) { //speed の値をdown_speedだけ減算 speed -= down_speed; //speed の値が 0 以下になれば } else { //speed の値を 0 で固定 speed = 10; } // //このMCのx座標をspeedだけ右に移動 this._x += speed; // //もしこのMCのx座標が 0 より大きくなれば if (this._x > 0) { //このMCの横幅の半分だけ左に移動 this._x -= this._width / 2; } } と入力いたしました。 上記のように左から右にスクロールさせるのと同時に右から左ににスクロールさせる方法が知りたいのです。どうかよろしくお願いいたしします。 イメージは下記のような感じで上(左→右)下(右→左)を最初早くスクロールしてだんだんゆっくりスクロールしていくといったアニメーションにすることが理想です。 バージョンはFlashCS4 でas2.0で作成します。

  • フラッシュのサンプル

    参考ページがなくて申し訳ないのですが。。 複数の写真を3Dぽく(奥行きのあり、円場に写真がならんでいる)配置して、左にマウスを移動させると右回りに、右にマウスをやると左周りに回転させる、仕掛けをつくりたいと思っています。 どこか、ダウンロードできるサイトをご存知の方おられませんか? 過去にこちらのサンプルをよく使わせてもらっていたのですが、サイト構造が変わってしまって、迷子状態です。。http://www.actionscripts.org/movies-results.php?searchTerm=&page=4&category=effects どうぞよろしくお願い致します。

    • ベストアンサー
    • Flash
  • このFlashってどうやってするんですか?

    http://toriaezu123.web.fc2.com/ このFlashのバックでクルクル周ってる影みたいなのと 光の線みたなのが左から右に走ったりしてるのって どうやって作るんでしょうか。 いろいろ調べたんですけど分からなくって… ご存知の方教えていただけませんか? よろしくお願いします。

  • フラッシュのActionscriptについて

    FlashMXを使用しているのですがActionscriptを使用して、 写真を横に長く配置したものを、マウスの動きに合わせて 右にスライドさせたり左にスライドさせたりと したいと思うのですが…。 私の知識が初心者過ぎて、質問の過去ログを漁ってみても お恥ずかしいのですが…、チンプンカンプンなのです。 ちょっとしたヒント程度でも構いませんので、どうぞ お知恵をお貸し頂けたらなと思います。 宜しくお願い致します。

  • 【Flash】 Suzuka での作成についてです

    「Suzuka」のFlash作成のフリーソフトで・・・ 最近、やっと、スライドショー作成とトゥイ~ンで動かす事が出来るようになりました。 それで、今チャレンジしている事は、青空雲の背景画像などの1枚の画像で、左から右へと横に無限ループなんですが 1枚の画像を複製(同じ画像)して2枚使用で、1枚の画像をタイムラインを設定してトゥイ~ンで動し 次に続けて2枚の画像を追加し、1枚の画像のタイムラインの続きタイムラインを設定しトゥイ~ンで動し プレビュで確認してみると ★のところで1枚目の画像と2枚目の画像の間で一部が空白(白色)になりうまい事つながりません。 また、2枚目の画像のスライドが終わり、1枚目がループになる時も一部が空白(白色)になりうまい事つながりません。 ちなみに、動作はちゃんと左から右へと横にとスライドはしてますが、ループ的にはダメです。 どうやったら、うまい事、一部が空白(白色)にならずに、画像が流れるようにつながり無限ループができるのでしょうか? 自分なりに色んなサイトを検索して「Suzuka」での無限ループに関した事を調べましたが、わかりませんでした。 何方かできれば詳しく教えて下さい。宜しくお願いします。 非常に困ってます。 【参考】 理想のイメージとしては、http://book.mycom.co.jp/support/e5/actionscript10/ このサイトにある 「Chapter13 その他のバリエーション」の項目の「13-01 無限ループ背景」で紹介されている Flashマークのアイコンクリックで見れる無限ループのFlashのようにしたいのです。

  • フラッシュで決まったフレームのみをループさせる方法

    お世話になります。 文字を左から右へ移動させ、ある場所で止まりそこでぼかし(20フレーム)を繰り返すという動画を作りたいのですが、ループ再生にすると最初から再生されてしまいます。 ぼかしのみを繰り返すように設定するのはどうしたらよいのでしょうか?

  • flashでの流れる背景

    flashについて教えてください。 背景が流れるムービーを作成したく、背景(雲、木、道路など)が左から右へ動く一つのムービークリップにし、マスクをかけました。 背景が流れるようには見えるのですが、背景のムービークリップをループさせているため、最初の1フレームに戻るときに戻っている事が解るのです。 スムーズじゃないと言うのでしょうか・・。 同じ単純な模様とかだとスムーズに見えるのでしょうが、イラストのため同じ模様じゃなく悩んでいます。 何か方法がありましたら、教えて頂けませんでしょうか。 よろしくお願いします。

  • 【Flash】 Suzuka での作成についてです

    「Suzuka」のFlash作成のフリーソフトで・・・ 最近、やっと、スライドショー作成とトゥイ~ンで動かす事が出来るようになりました。 それで、今チャレンジしている事は、青空雲の背景画像などの1枚の画像で、左から右へと横に無限ループなんですが 1枚の画像を複製(同じ画像)して2枚使用で、1枚の画像をタイムラインを設定してトゥイ~ンで動し 次に続けて2枚の画像を追加し、1枚の画像のタイムラインの続きタイムラインを設定しトゥイ~ンで動し 2枚の画像のタイムラインイメージ的には・・・           1     10      20    ★  30      40    1枚目の画像 □□□□□□□□□□□□           2枚目の画像                   □□□□□□□□□□□□ こんな感じでやってみたのですが、プレビュで確認してみると ★のところで1枚目の画像と2枚目の画像の間で一部が空白(白色)になりうまい事つながりません。 また、2枚目の画像のスライドが終わり、1枚目がループになる時も一部が空白(白色)になりうまい事つながりません。 ちなみに、動作はちゃんと左から右へと横にとスライドはしてますが、ループ的にはダメです。 どうやったら、うまい事、一部が空白(白色)にならずに、画像が流れるようにつながり無限ループができるのでしょうか? 自分なりに色んなサイトを検索して「Suzuka」での無限ループに関した事を調べましたが、わかりませんでした。 何方か出来るだけ詳しく教えて下さい。宜しくお願いします。 非常に困ってます。 【参考】 理想のイメージとしては、http://book.mycom.co.jp/support/e5/actionscript10/ このサイトにある 「Chapter13 その他のバリエーション」の項目の「13-01 無限ループ背景」で紹介されている Flashマークのアイコンクリックで見れる無限ループのFlashのようにしたいのです。

  • LINEについての質問

    LINEに関する質問です LINEでメッセージを送るとき 以前は添付写真左側のようになっていたのですが 何も設定をいじった覚えはないのですが 先ほど使おうとしたら添付写真右のようになってしまい とても使いにくく困っています  safariやグーグルのメールではちゃんと左の写真のように表示されます。 LINEだけうちにくくて困っています。 治し方、ご存知の方いらっしゃったら教えてください 使ているiPhoneは10で iOsは13.3.1.です よろしくおねがいします

  • Flashの使い方

    falashのモーショントゥイーンで何もないところに写真を表示させるように作成しました。1回のみ再生させたいのですが、ループしてしまいます。 プロパティでは1回再生となっています。 なぜループしてしまうのか、初心者でもわかるようにどなたか教えてください。 flashMXを利用しています。

専門家に質問してみよう