• 締切済み

外部画像を読み込んでページをめくるように表示したい

ページをめくるように写真を表示したくて、こちらの過去ログから下記のサイトに辿り着きました。 http://www.actionscripts.org/showMovie.php?id=459 ページごとにたくさんの画像を使うことと、頻繁に画像を入れ替えたい理由で、外部ファイルを読み込んで使えるように改造しようとしてみましたが、どこをいじればよいのか見当もつきません。 Bound Pages (MC)のcreateEmptyMovieClipの中のattachMovie辺りを書き換えればよいのかと思ったのですが、うまくいきません。 function setStationary() { // Place the "S"tationary "L"eft "P"age createEmptyMovieClip("SLPage", 1); if (flipPage!=1.5) { makePage (SLPage, -1) SLPage.attachMovie("print"+(flipPage-1.5), "Print", 1); with (SLPage.Print) { _x = -pageWi/2; _y = -pivotY; } } やりたいことをまとめますと、 1.雑誌のカテゴリーボタンを配置 2.クリックされたカテゴリーのフォルダからjpgを読み込み 3.jpgファイルの枚数分MCを作成 となります。 ボタンでそれぞれの雑誌に切り替えるようなイメージにしたいのです。 どなたか分かりやすく教えていただけませんか?

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

みんなの回答

  • chem_taro
  • ベストアンサー率32% (33/101)
回答No.2

#1です。 >この方法ですと、あらかじめ写真の枚数は決めておく必要がありそうですが、duplicateMovieClipで複製すれば写真が増えても対応できますでしょうか。 ライブラリのPage1を開いたら、その先は「どうにでもなる」ということですね=) 開いたステージにすきなようにFLASHを作り込んでいけばその通りにページに反映されます。(ページからはみ出さないようにだけ気をつけましょう。) あとは、写真が複数になろうと、クリックしたら写真が変わるというようなことも、自在になるということですね。 (作者さんもその辺のカスタマイズを考えてつくってくれているわけです。) loadMovieについては以下のサイトが参考になるかもです。 ※このサイトではswfをロードしてますが、JPGも同様にロード可能です。 ※ボタンをロードのタイミングとしていますが、私の例はonClipEvent (load)でムービークリップが表示される時に一緒にロードされるようにしてあります。もちろん、フレームのアクションにいれてもいいかもです。

参考URL:
http://flashrave.org/as/loadmovie/
  • chem_taro
  • ベストアンサー率32% (33/101)
回答No.1

おもしろいですね、これ。=D スクリプトを改造しなくても、ライブラリを開いて、Book-Printed Pageの中にPrint1~8のムービークリップがでてきますので、これをそれぞれ改造すれば自由なページをつくることができるみたいです。 たとえば、Page1にLoadしたムービーを表示するなら、ライブラリのPage1をダブルクリックして、そこに表示用ムービークリップ(stageというインスタンス名をつけたとします)をおき、別なスクリプト用の空ムービークリップを配置し、 onClipEvent (load) { _parent.screen.loadMovie("test.jpg"); } というアクションを追加すれば、screen(表示用ムービークリップ)のところにtest.jpegという画像がロードされます。 この状態で、本を表示すれば、めくれるページ内にちゃんと外部jpegを表示することができました。 わからないところがあれば、また聞いてください。

Jacky_chun
質問者

お礼

chem_taroさん、ありがとうございます。 こんなに早くアドバイスをいただけるとは思っていませんでした。 まだ試していませんが、この方法なら私でも理解できそうです。 帰ったら早速やってみようと思います。 この方法ですと、あらかじめ写真の枚数は決めておく必要がありそうですが、duplicateMovieClipで複製すれば写真が増えても対応できますでしょうか。

関連するQ&A

  • 外部ファイルの画像読み込みについて

    環境 WinXP Flash8 同じボタンをいくつも配置したいのと、汎用性を持たしたいのでボタンを ASで配置したいと思いますが、ASをほとんど扱ったことがないのでわかりません。 ■やりたいこと ・ボタン1~10をステージ上に配置 ・画像(pcs1.jpg~pcs10.jpg)をそれぞれに読み込みたい。 ・画像がない場合はボタンも表示させない ・それぞれのボタンを押すとphoto_mcに画像(photo1.jpg~photo10.jpg)が読み込まれる ■現状 WEBで見つけたソースを色々といじってみた。画像は配置できたのですが ボタンのアクションが全て同じ(10番目)になってしまいます。 画像がないときの処理もわかりません。 AS:フレーム1 for (var i = 1; i<10; i++) {  _root.createEmptyMovieClip("mc"+i, i);  var load_mc = _root["mc"+i];  load_mc.createEmptyMovieClip("my_mc", 0);  var jpg_pcs = "pcs"+i+".jpg"; load_mc.my_mc.loadMovie(jpg_pcs); i = i-1; load_mc._x = i*20; i = i+1; load_mc.onPress = function() { var photo = "photo"+i+".jpg"; photo_mc.loadMovie(photo); }; } これってボタンじゃなくてmcを配置してclickイベントになってますよね? ボタンを生成したかったのですがわからなくて・・・ 根本的なことが分かっていなくてソースをいじってますがアドバイスお願い致します。 今のソースは全く無視していただいて結構です。

    • ベストアンサー
    • Flash
  • 【ActionScript】createEmptyMovieClipの寸法を変えたい

    FLASH8(Win-XP)使用者です。 createEmptyMovieClipで生成したMCに外部画像を読み込む場合、その画像の寸法を変える場合どうしたらいいでしょうか? (attachMovie以外でお願いいたします。) _root.obj.createEmptyMovieClip("mc", 0); _root.obj.mc.loadMovie("aaa.swf"); _root.obj.mc._width = 100; ですと読み込んだ画像は消えてしまいます。 お詳しい方、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • マウス位置によって画像を切り替える

    ステージ上のマウス位置を読み取り、その座標によって画像を切り替えるFlashを作成中なのですが、上手くいきません。 流れとしては 画像のファイルを読み込む ↓ 画像のファイル分だけムービークリップを作成 ↓ マウスの座標に応じて画像(ムービークリップを切り替える) というものです。 下記のようにかいています。 ●1フレーム目 //各画像の変数読み込み jpg1 = "test1.jpg"; jpg2 = "test2.jpg"; jpg3 = "test3.jpg"; jpg4 = "test4.jpg"; //初期配置 //空のMCを作成し、その中に画像変数を読み込ませる。 _root.createEmptyMovieClip("image_mc0",4); _root.createEmptyMovieClip("image_mc1",3); _root.createEmptyMovieClip("image_mc2",2); _root.createEmptyMovieClip("image_mc3",1); _root.image_mc0.loadMovie(_root.jpg1); _root.image_mc1.loadMovie(_root.jpg2); _root.image_mc2.loadMovie(_root.jpg3); _root.image_mc3.loadMovie(_root.jpg4); //マウスが押されたときに変数MCclickをオンにする _root.mouse_mc.onPress = function() { MCclick = true; trace( "押された時の変数 " +_root.MCclick); } //マウスが離れた時に変数MCclickをオフにする _root.mouse_mc.onRelease = function() { MCclick = false; trace( "離れた時の変数 " +_root.MCclick); nowpoint = (_root._xmouse); trace( "今の位置" + nowpoint); } //マウスがボタン領域外にいった時に変数MCclickをオフにする _root.mouse_mc.dragOut = function() { MCclick = false; trace( "どっかいった時の変数 " +_root.MCclick); } stop(); ●ステージ上にかぶせている透明なMC(mouse_mc) //MCclickがオンの時変数mc_xの値をとり続ける onClipEvent (mouseMove) { if (_root.MCclick) { _root.mc_x = (_root._xmouse); trace( "押された時の変数mc_xの位置 " + _root.mc_x); trace( "マウスを押したままの変数 " + _root.MCclick); //100以下の時に画像1を表示 if((_root.mc_x >= 0) || (_root.mc_x <= 100)){ _root.image_mc0._visible = true; _root.image_mc1._visible = false; _root.image_mc2._visible = false; } else if((_root.mc_x >= 100) || (_root.mc_x <= 200)){ _root.image_mc0._visible = false; _root.image_mc1._visible = true; _root.image_mc2._visible = false; } else if((_root.mc_x >= 200) || (_root.mc_x <= 300)){ _root.image_mc0._visible = false; _root.image_mc1._visible = false; _root.image_mc2._visible = true; } } } この書き方で一応動作はするのですが、1枚目と2枚目の画像の切り返しか動作が行われなくて困っています。 画像のサイズ、ステージのサイズは両方とも 400*400です。

    • ベストアンサー
    • Flash
  • 外部の画像を読み込んで並べたい

    お世話になります。外部の画像を読み込み、それを縦に並べるだけで、 難しいことは無い、と思って挑戦しましたが、すでにハマって、時間だけが過ぎております。 var btnlength = 7;//並べるボタン画像の数 var btncount=1; var oLsn:Object = new Object(); var myMcLoader:MovieClipLoader //読み込み成功時 oLsn.onLoadInit = function(mc:MovieClip) { mc._y = setbtn_y ; setbtn_y = setbtn_y + mc._height; btncount++; if (!(btncount > btnlength)){ create_btn(btncount); } } //ボタンMC作成 function create_btn(_cnt){ var _mc:MovieClip = this.createEmptyMovieClip("btn"+btncount, this.getNextHightestDepth()); myMcLoader.loadClip("img/btn"+ _cnt +".png",_mc); } myMcLoader = new MovieClipLoader(); myMcLoader.addListener(oLsn); create_btn(1); やろうとしていることは、 MovieClipLoaderを使って、狙いの画像を読み出し、 読み込まれた後に、次の画像を読み出す。 という仕様です。 現状では、一番最後の、7番目の画像のみが、7番目の位置に表示されます。それ以前の画像は表示されません。 それ以前の画像が、読み込まれていないのかと思い、onProgressや、エラーも見張ってみたのですが、問題無く読み込まれていました。 なぜ、表示されないのでしょうか? ご教授いただければ、幸いでございます。

  • mc作成→jpg読み込み→リンクをつけたい

    createEmptyMovieClipでMCを作成し、 そのMCに画像を読み込み、さらにリンクをつけたいのですが、 なぜかうまくいきません。 createEmptyMovieClip("mc", 1); mc.loadMovie("test.jpg"); mc.onRelease = function() { getURL("aaa.html", "_blank"); }; としても画像は読み込まれるのですが、 リンクがつきません。 いろいろとサンプルを見て作成してみたのですが、 画像を読み込ませるとリンクが消えてしまいます。

    • ベストアンサー
    • Flash
  • 外部の画像、もしくはswfを読み込んでボタンをつくりたい

    以下2パターンを試してみました。 1 ボタンシンボルが配置してあるswfファイルを作成(0.swf)し、「sum」というMCに読み込み loadMovie("0.swf","sum"); 結果は、通常状態の表示は問題なく行いましたが、マウスをボタンの上にもってきても反応しませんでした。 (カーソルは変更されるが画像に変化なし) 2 MCをつくり、そこに on (rollOver) { this.gotoAndStop("2"); } on (rollOut) { this.gotoAndStop("1"); } 下の階層に、1フレーム目および2フレーム目に通常状態とrollOverの画像を読み込むためのMCを配置。それぞれsum_1、sum_2。 そのMCがあるタイムライン上に loadMovie("0.jpg","sum.sum_1"); loadMovie("0_on.jpg","sum.sum_2"); 要するに箱を作って、画像だけ差し替えられるようにした感じです。 実行すると、1フレーム目は正常に表示されますが、マウスをかざした時に白くなってしまい、マウスを戻しても白いままで最初の画像が戻りません。 loadMovieはこういう動きなのでしょうか。 外部から読み込んでボタンとして動作させたい場合はどのようにすればいいでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • cgiで表示するhtmlページ内でバイナリ画像を出力したい

    cgiで表示するhtmlページ内でバイナリ画像を出力したい 「CGI 画像出力」でググったページで下記のコードがありました。 下記コードは、 Content-typeをimage/gif等にして バイナリを print すれば表示される という書き方になっていると思いますが、 content-typeがtext/html のページ内でバイナリをprintした場合 バイナリが文字列としてグシャァァァと表示されてしまいます。 ------- $view = 'aaa.jpg'; print "Content-type: image/jpeg\n\n"; #コンテンツタイプを指定する open IMGG,"$view"; #ファイルハンドル IMGGに画像ファイルを読み込む binmode (IMGG); #画像なのでバイナリモードに設定する print <IMGG>; #ファイルハンドルを画面に書き出す close (IMGG); #ファイルハンドルを閉じる exit; ------- content-typeがtext/htmlの状態でバイナリの画像を表示するには どうすればよいのでしょうか? cgiを2つ用意して、上記のコードを img src=~~.cgi という形で 呼び出すしかないのでしょうか?

    • ベストアンサー
    • Perl
  • 外部の画像をボタンとして使用

    オンマウスで画像が変わるボタンを作成したいのですが、 使用する画像を外部ファイルにしたところうまく動作しません。 ボタン用のMCを設置し、MCアクションに以下のように記述しましたが 画像は表示されませんでした。 onClipEvent (load) {  filename = "images/button.gif";  loadMovie(filename,this); } どこをどう直せば画像を読み込めるようになりますか? ※FLASH CS3 / AS2.0です ※画像のパスは正しい事を確認しています。

    • ベストアンサー
    • Flash
  • 外部画像を呼び出す。

    はじめまして。Flashを勉強中しだしたばかりで、本やNETを観て覚えてます。 環境はWinでFlashMX2004で作ってます。 今回は外部の.jpg画像(計8枚)を順番に呼び出して、それぞれにトゥイーンを使った効果を入れて画像を切り替えるというものです。 ボタンなどで操作するのではなく、ただ永遠に再生(ループ)させるだけです。 イロイロと資料を見ましたが、どこもphotoアルバム形式で、ボタンでページ送りにするものばかりで、的を得た回答に辿り着けません。 今は、【images】と言うムービークリップを作成して、【シーン1】の【1フレーム目】に配置して、scriptで images.loadMovie("p1.jpg"); とだけ記述してます。 この画像一枚さえ呼び出すことが出来ないでいます。 画像が悪いのか、swfとipgのフォルダ構成が悪いのか、イロイロと試しましたが画像が表示されないまま既に8時間以上経過してます。。。 どうか、分かる方教えてください。 よろしくお願いします。

  • 画像のファイル名をPOSTで渡す

    1.jpg 2.jpg 3.jpg の3つの画像ファイルがあります。 この3つの画像をボタンとして表示して押下したボタンの画像ファイル名をPOSTとして渡したいのですが、下記のソースだとどれを選択しても 3.jpgが渡されてしまうので困っています。アドバイスお願いします。 JavaScriptqを使用しても結構です。 <?php print '<form method="POST" action="b.php">' . "\r\n"; for($i=1;$i<=3;$i++){  print ' <BUTTON name="image" >' . "\r\n";  print ' <img src="../'.$i.'.jpg" >' . "\r\n";  print ' </BUTTON>' . "\r\n"; } print '</form>' . "\r\n"; ?>

    • 締切済み
    • PHP

専門家に質問してみよう