• ベストアンサー

画像をループさせるうまい方法を教えてください。

Flash 8 (ActionScript2.0) 画像をドラッグで移動させる処理をしているんですが、 画像をループ(横のみ)させて、表示するにはどうすればいいでしょうか? つまり、画像を横に移動し続けて画像の端がくれば、また画像の最初からあたかも画像が繋がっているかのように表示したいです。 良い処理の仕方、アルゴリズムを教えてください。

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

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

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

表示させたい画像が  ABCDE という柄の一枚の画像であって, BCDのみが見えているとします。     ABCDE      └┬┘      見えている範囲(例えばステージの範囲) このような場合, 簡単にするにはこの画像を左右に2つ,もしくは3つ並べます。 左右に2つ並べるとするなら次のような感じになります。     ABCDEABCDE      └┬┘      見えている範囲 たとえば, この2つ並べた画像を右に1つ動かしたとします      ABCDEABCDE      └┬┘      見えている範囲 さらにもう1つ動かしたとします。       ABCDEABCDE      └┬┘      見えている範囲 Aの画像の左に背景が見えてしまいますから,この時点で アウト! です。 アウトになった瞬間,ABCDEの幅と同じ座標分,左に画像を動かします。  ABCDEABCDE      └┬┘      見えている範囲 これでAの左の背景が見えなくなりAの左にはEが表示されます。 だいたいこのようなパターンが多いです。 左右に画像を並べるのは手動でコピペでも良いですし, ActionScriptでコピペしても良いです。 ABCDEABCDE と2重(または3重)連結された画像を同じムービークリップの中に入れて, 1つのムービークリップとして動かすのが簡単です。 「無限にスクロールするメニュー FLASHRAVE - FLASH 講座 -」 http://flashrave.org/anima/infinity_scroll/ ~引用~ > 動作の概要としては、初期表示時に「MENU00」を > 上下に一つずつ複製して配置しています。 > スクロールボタンにマウスが重なることで > この複製物を合わせた3つのシンボルを移動させ、 > 一定距離移動すると元の場所に戻すことで > 無限にスクロールしているように錯覚させています。 「Flash MX ActionScript ほぼ10行道場」 http://book.mycom.co.jp/support/e5/actionscript10/  →Chapter13 その他のバリエーション   →13-01 無限ループ背景 しかしそんなことより, ループした画像(ちゃんとつながる画像)を作成するアルゴリズム(というべき?)の方が場合によっては難しいと思います。 ABCDEという別々の写真が5枚あって,5枚セットで1枚の画像でしたら簡単ですが, 横長い風景写真であったり,地図であったりする場合はどうするのでしょうか??? その辺の工夫の方が難しい気がします。 たとえば風景写真で  山川町丘海 というようなものの場合, この画像を左右反転させた画像を1枚の画像とするとうまくつながる場合があります。  山川町丘海海丘町川山 これを2重連結させますから  山川町丘海海丘町川山山川町丘海海丘町川山 山と海の部分をなんとかごまかせばうまく行くと思います。 しかし地図のような画像ではそれはできませんし..., もしそのような画像の場合はどうにかこうにか考えてみてください。

studentE5T
質問者

お礼

図入りの解説で分かりやすかったです。 ありがとうございました。

その他の回答 (1)

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

#1です。 わかるかどうかが不安になったので,#1 の補足をします。 #1で書いたのはアルゴリズム,いわば考え方です。 考え方のみではなく, 具体的なスクリプト例と,ムービークリップの構造を図示します。 左右に2枚の画像を連結して, その画像の左端を基準点に設定してムービークリップに変換したとします。 そのムービークリップ自体に書くスクリプト例です。 --------------------------------------------------------- on (press) { this.startDrag(false, -10000, this._y, 10000, this._y); } on (release) { this.stopDrag(); } on (releaseOutside) { this.stopDrag(); } onClipEvent (mouseMove) { if (this._x<-this._width/2) { this._x += this._width/2; } else if (this._x>0) { this._x -= this._width/2; } updateAfterEvent(); } --------------------------------------------------------- このスクリプトを書くムービークリップとは, 下の図のように作成したものの場合です。

関連するQ&A

  • 画像1枚を横スクロースで途切れずループ再生させたい

    【作業環境】 PC:Windows 7 アプリケーション:Flash8 ActionScript:2.0 1枚の画像(1260×237)を左から右に移動させ、 画像の切れ目にはまた同じ画像がくっついて切れ目なく 横移動を永久ループするFlashを制作したいのですが、 他のサイトから参考に制作してみても画像が途切れて、 ループしてくれません。 ※できたら、再生開始時には、アルファ0%からスタートして、 徐々にアルファ100%になるようにしたいです。 ※最初の何週かは、横移動のスピードも速くし、徐々に遅くなって、 一定のスピードでループ再生されるものにしたいです。 何な方法がありましたら教えて頂けないでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • ループ再生のflashをタイムラインの途中から再生

    AdobeのFlashを使って他人の作ったflashの編集をする事になったのですが、ActionScriptについての知識がほとんどなく困っています。 アルファの白い画面→''画像が表示''→アルファの白い画面→ループ、頭に戻る この動きの繰り返しの中で画像が1→2→3と変化します。 (タイムラインの1フレーム目で画像が切り替わるようになっています。) asの部分にはこう書かれています -------- if( loop_cnt == undefined || loop_cnt>mcimg._totalframes) {loop_cnt = 1;} --------- (内容と無関係だったらすみません><解読は出来ていない状態です) このflashの始まりを、上記の''画像が表示''の部分から始まるように変更したいです。 (flashを途中から再生させる→ループで頭に戻る→その後はそのまま全てのタイムラインをループ) ActionScriptでこのような命令をする方法があれば教えて頂きたいのですが・・・ 投稿も初めてなので記述に至らない点が多いかと思いますが、何卒よろしくお願い致します。

    • ベストアンサー
    • Flash
  • FLASHで書き出したexeをループ再生

    FLASHで書き出したexeをループ再生させたいです。 FLVファイルは紛失してしまい、exeファイルしかありません。 ActionScriptでストップが入っているため、FLASHプレーヤーの制御でループすることは出来ません。 なにか、簡単にループさせる方法はありますでしょうか?

  • Flash ASを使った画像フェードの方法について

    Flash ActionScriptを使った画像フェードの方法を教えてください つい最近、興味をもってFlashを始めている初心者です。 Flash Proffesional CS5を使って複数の画像をじわーっと変えるようなFlashを 作りたいと思っています。 分からないながらもいろいろ試行錯誤したところ、モーショントゥイーンで アルファを設定することで希望するフェード効果が得られるようになりましたが、 これをモーショントゥイーンではなく、ActionScriptをつかって実現する方法を 教えてください。 現在は添付画像のように作っており(説明用の画像で実際のものではありません)、 画像1の始まりをフェードインするところからスタートして、15フレーム目、画像2に 遷移するときに画像1と画像2がフェードで切り替わり、同じく画像2と画像3が フェードで切り替わり、そして最後35フレーム目に『gotoAndPlay(6);』のアクション を設定して画像1へループさせているのですが、このループ時にも画像3から画像1へ 切り替わるときにフェードさせたいのです。 いろいろ調べたりしているのですが、とっかかりが掴めずに困っております。 なにぶん始めたばかりでわからないことだらけなのですが一生懸命頑張りたいと 思っております。どなたか方法について教えていただければ幸いです。

  • flashのループの方法について

    初めまして。今flashでホームページなどで使う動画を作成しています。 独学で、手探りで作成している状況なので、フラッシュのループの設定で行き詰まってしまい、教えていただきたいことがあります... 今作っているムービーはホームページで使うもので、 簡単な流れを言いますと、 最初にそれぞれ違った写真が4つ順番にフェードインフェードアウトしてでてくる。 (それぞれの写真は1~4のレイヤーに分けている状態です) そして最後に出てくる5つ目の画像(レイヤー6)を背景にした状態で、レイヤー5に作ったシンボルが動いている。 という具合で、ここまでは出来たのですが、この「レイヤー6を背景にした状態で、レイヤー5のシンボルが動いている」という状態をループさせたいのですが、 ムービーの最初から最後まで(レイヤー1~6)の全体をループさせる方法しか分からず、 困っています。。。 他の方の質問をみても、自分の問題と同じかどうかよくわからなくて、解決に困っています; フラッシュ初心者なので、どなたか分かりやすく教えていただけると大変嬉しいです。 よろしくお願いいたします。

  • フローチャートのループ

    フローチャートのループ記号の中に書く条件って ループを抜ける処理を書くのでしょうか? それともループを続ける処理を書くのでしょうか? どちらかで符号が変わってきてしまうので… プログラミング言語を書くときは、続ける条件を 書く事が多いように思えますが、アルゴリズム等の 文献では抜ける処理とか終了条件と書いてあるので 混乱してしまいました。より一般的にはどちら なのでしょうか?フローチャートを書くときの約束事 などありますでしょうか?

  • AS2:画像ファイルをランダムに読み込むコード

    actionscript2.0で画像ファイルをランダムに読み込み、表示するコードを教えて下さい! バナーを作りその中に100枚くらいの画像ファイルが入ったファルダから 読み込むといった感じです。 画像ファイル数は増えたり減ったりしますので、それを想定したコードがありがたいです。 読み込んだファイルは横に動くスライドショーになる予定です。 PC環境:Adobe Flash CS5 actionscript2.0 Flash Player8 まだFlashを始めたばかりで、質問の内容分かりにくいかもしれませんが、 ご教授のほどをよろしくお願い致します。

  • ActionScript スクロールメニュー

    ActionScriptで以下のサイトのように、下段のサムネールが左右にスクロールするメニューを作成したいのですが、実現方法がわかりません。 http://www.wasedazemi.com/ ・下段の最右、または最左の矢印ボタンを押すとその方向にメニュー1個分スクロールし、下段の真ん中のメニューの画像が上段に表示される。 ・下段の任意のサムネールを押すとその画像が下段真ん中に移動し、上段にその画像が表示される。 ・下段のサムネールはループしていて、スクロールをし続けても端にならずに回り続ける。 ・上段の画像にマウスオーバーすると青い枠線が表示される。 ActionScript 3.0、Flash CS5を利用しています。 ご教授よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 画像viewer作成。AjaxとFLASHどちらが楽でしょう?

    http://www.all-internet.jp/real3di/multi_row/ このページにあるような3次元的に配置された2次元画像を切り替えていく、画像viewerをWEB上に作成したいと考えています。 求められる用件は ・マウスのドラッグで画像を切り替えられる ・画像の切り替えアルゴリズムを、プログラミングで行う(何千枚もある場合を想定しているので、手動指定はできないものとする) ・WEB上で公開可能 私はC言語とFLASHでちょっとしたHPを作ったことがあるだけで、本格的にAjaxもActionScriptも使ったことがありません。 また、画像の切り替えアルゴリズムはオフライン版としてC言語で制作しています。 このようなビューワを作るときに、リンク先のHPにあるようにFLASHで作るのが早道なのか、それともgoogle Mapのような感じでAJAXで作るのが早道なのか。ご意見よろしくお願いします。

  • テキストを画像のように扱いたい

    FlashでテキストフィールドをSpriteにaddchildしてalpha値で縮小/拡大しながら、x/yの座標を移動する処理をactionscriptでやっています。これだとテキストがプルプル動いてしまいます。 たぶん、縮小時などに、テキストのリサイズなどの処理がされるためにプルプル見えるのだと思うのですが、 画像として扱うなど対応方法は無いでしょうか? ※TextFieldAutoSize.LEFT=trueを設定してます。