• 締切済み

FLASHで曜日に応じた35枚の画像を順に自動更新したい

Flash CS3(actionscript2.0で制作)を使っており、トップページのFlash画像を毎日自動で更新したいと思っています。 画像は35枚あり、それぞれ曜日に応じたテーマになっております。 その画像を順にその曜日に表示したいと思うのですが、どのようにしたらよいものか困っております。 photo1.jpg -> 月 photo2.jpg -> 火 photo3.jpg -> 水 : photo7.jpg -> 日 photo8.jpg -> 月 : photo35.jpg -> 日 というようにphoto1.jpgから順に表示したいのです。 ----------------------------------------------------------- var today = new Date(); var num = today.getDay()+1; gazou_mc.loadMovie("img/photo"+(num)+".jpg"); ----------------------------------------------------------- ↑このように現在は記述しているのですが7つの画像しか表示されないので、35枚順に表示されるようにするにはどうした良いものか、ご教授いただけないでしょうか。 FLASHのactionscriptもjavascriptも初心者でやっとの思いでここまでたどり着きました。 わかりやすく解説しているサイトURLなどでもよいので、 どうかよろしくお願いします。

  • Flash
  • 回答数3
  • ありがとう数4

みんなの回答

  • an631
  • ベストアンサー率82% (28/34)
回答No.3

>なるほど、だから最後に「var num:Number = (todayUTC - eventUTC) / 1000 / 60 / 60 / 24 % 35 + 1;」の部分で最後に1を足しているのですね。 違います。

junz_1981
質問者

お礼

この中身は勉強して、解読してみます。 ありがとうございました。

  • an631
  • ベストアンサー率82% (28/34)
回答No.2

>2行目を「var eventUTC:Number = Date.UTC( 2009 , 3 , 2 );」にしても・・・ 月のカウントは0から始まるので(1月=0 2月=1 3月=2) 2009/3/2を基準にする場合は Date.UTC( 2009 , 3 , 2 )ではなくて Date.UTC( 2009 , 2 , 2 )です。 Date.UTC( 2009, 1, 23)にすれば 2009/2/23(月曜日)を基準にphoto1.jpgから始まります。

junz_1981
質問者

お礼

an631さん、ありがとうございます。 「Date.UTC( 2009, 1, 23)」で表示されました。 >月のカウントは0から始まるので(1月=0 2月=1 3月=2) >2009/3/2を基準にする場合は >Date.UTC( 2009 , 3 , 2 )ではなくて >Date.UTC( 2009 , 2 , 2 )です。 なるほど、だから最後に「var num:Number = (todayUTC - eventUTC) / 1000 / 60 / 60 / 24 % 35 + 1;」の部分で最後に1を足しているのですね。 大変、助かりました。本当にありがとうございます。

  • an631
  • ベストアンサー率82% (28/34)
回答No.1

2009/3/2(月)を基準にphoto1.jpgから始めるとします。 var dateObj:Date = new Date(); var eventUTC:Number = Date.UTC( 2009 , 2 , 2 ); var todayUTC:Number = Date.UTC( dateObj.getFullYear() , dateObj.getMonth() , dateObj.getDate() ); var num:Number = (todayUTC - eventUTC) / 1000 / 60 / 60 / 24 % 35 + 1; gazou_mc.loadMovie("img/photo"+(num)+".jpg");

junz_1981
質問者

お礼

an631さん、ありがとうございます。 教えていただいたスクリプトで試してみたのですが、「URL 'file:///***/img/photo-2.jpg' を開く処理のエラー」と出てしまいました。 2行目を「var eventUTC:Number = Date.UTC( 2009 , 3 , 2 );」にしても「photo-33.jpg' を開く処理のエラー」と出てしまいます。 何度か「( 2009 , 3 , 2 )」(基準日と思うのですが)の部分を変更しても「マイナス」が付いてしまいます。 画像の名前を「photo-2.jpg」などとすれば表示はされますが、 2009年2月2日が基準日の場合、2月27日付で「photo26.jpg」が読み込まれると思うのですが、、、 また、スクリプトの簡単な解説など付けていただけると、読み込まれる画像の確認や変更があった時の修正、今後の参考にしやすいので、もしよろしければお願いいたします。 わがままな注文かもしれませんが、よろしくお願いいたします。

関連するQ&A

  • 読み込む画像名を外部テキストで指定したい

    Flash初心者なもので宜しくお願いします。Flash MX 2004を使用しています。 Flashの中に読み込む画像を外部テキストで指定し、Loaderを使ってscaleContent=trueで読み込みたいのです。 手探りながら実際にやってみたのは、FlashでLoader(インスタンス名=photo_a)を設置。 読み込みテキスト【STYLE-A.txt】の中に画像名を【&photo_a_name=gazou.jpg】と記入。 Flashと同じ階層のフォルダ【item_a】の中に【gazou.jpg】を用意。 LoaderのcontentPathを空欄にし、1フレーム目のスクリプトに _root.loadVariables("item_a/STYLE-A.txt"); で外部テキスト読み込み。 更に次のフレームのスクリプトに stop(); if (photo_a_name == null) { this.gotoAndPlay(_currentframe-1); } else { a_photoname = "item_a/"+photo_a_name;} } photo_a.loadMovie(a_photoname); photo_a.scaleContent = true; と記述。 しかし画像が表示されません。ためしに photo_a.loadMovie("item_a/gazou.jpg"); photo_a.scaleContent = true; と記入してみると表示することはできたのですが、コンポーネントインスペクタでscaleContent=trueと指定してあるのに実サイズ(ピクセル)でLoaderより大きく表示されてしまいます。 もうすっかり行き詰まって悩んでいます。 .loadMovie()のカッコ内の値を変数にする方法と、scaleContent = trueで表示させる方法を、どなたかアドバイスをお願いします。

    • ベストアンサー
    • Flash
  • flashでjpg画像をloadmovieで読み込んでいるのですが。

    flashでjpg画像をloadmovieで読み込んでいます。それで、pictという名前のフォルダに、1.jpg 2.jpg 3.jpg というように画像ファイルに名前をつけています。 actionscriptでフォルダの中の画像を loadmovie("./pict/" + i +".jpg"); i++; というようにして、5秒ごとに画像を入れ替えるようにしています。質問内容なのですが、画像がフォルダの中に入っている画像分終了したら、写真を入れ替えるloadmovieをとめたいのです。 現状では、もし画像が10枚だったら if(i >= 11){  this.stop(); } というようにif文使ってますが、ここの11と入れてるところを関数でひろいたいのです(フォルダに入っている画像の数を調べるスクリプトを教えていただきたいのです)。 そのような関数はございますでしょうか?もしくは同じようなことができる方法はありますでしょうか? winXP、flashMX2004proです。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Flash マスクを使ったループスライドショー

    下記サイトのように、マスクを使ったループスライドショーを作っているのですが行き詰まっています。 http://www.taiza.jp/ やりたいことは、 外部の用意した「photo1.jpg」「photo2.jpg」「photo3.jpg」「photo4.jpg」の4枚画像を参考サイトのように下から上へと動くマスクを使ってループさせたいことです。その際、下に隠れているjpgが少し上へうごくこともやりたいです。 ループさせなければ、loadMovie("photo●.jpg", "ターゲットMC");とレイヤーのマスクを使ってできたのですが、 ループさせるとなると「photo4.jpg」から「photo1.jpg」・・・との繋ぎ方がわかりません。 このようなスライドショーを作りにはどうしたらよいのでしょうか。教えてください。 環境は、Flash CS3 Actionscript2.0 です。

    • ベストアンサー
    • Flash
  • 大量の配列

    Actionscript2.0で書いています。 複数の写真をランダムで表示させたいと考えています。 var photo = new Array(1,2,3,4,5);     ・     ・ 【シャッフル処理】     ・     ・ photo1.gotoAndStop(photo[0]); photo2.gotoAndStop(photo[1]); photo3.gotoAndStop(photo[2]); photo4.gotoAndStop(photo[3]); photo5.gotoAndStop(photo[4]); もしくは photo1.loadMovie("photo" + photo[0] + ".jpg"); photo2.loadMovie("photo" + photo[1] + ".jpg"); photo3.loadMovie("photo" + photo[2] + ".jpg"); photo4.loadMovie("photo" + photo[3] + ".jpg"); photo5.loadMovie("photo" + photo[4] + ".jpg"); といった具合です。 写真が大量になると、 new Array(1,2,3,4,5,6,7,8 …);と書いていくのも大変だし、 photo1.gotoAndStop(photo[0]); photo2.gotoAndStop(photo[1]); … と記述するのも大変です。 後の方はforを使えば出来るのかなとも思うのですが、 出来れば配列の宣言(?)を簡略化出来たらと思います。 何かまとめて書くいい方法は無いでしょうか?

    • ベストアンサー
    • Flash
  • 読み込まれた画像のサイズについて

    時間によって表示画像を変えるようにしましたが、読み込まれた画像のサイズが合いません; シーンに用意したムービーのピクセルと、pohotoshopで作製したjpgのピクセルは同じなのですが、読み込まれると画像が大きくなっているようで……。 ちなみに、フレームに書いたアクションは↓こんな感じなのですが。 ------------------------------------------------ //変数の宣言と初期化 var obj_date:Date = new Date(); var nowh:Number = obj_date.getHours(); //配列を使ったjpgファイルの管理 var jpg_num:Number = Math.floor(nowh/3); _root.haikei.loadMovie(jpg_num+".jpg"); ------------------------------------------------

    • ベストアンサー
    • Flash
  • flash php 画像読み込み

    質問です! 私は現在大学の課題で卒業研究をFLASHとPHPを使って行っているのですが、行き詰ったので力を貸して欲しいと思い今回書き込みしました! 悩んでいる内容というのは、FLASHでPHPから値(~.jpg)をもってきて、FLASH内でPHPからとって来た値の画像を表示させるというものなのですが、うまく画像が表示されません。。多分loadMovieというものを使うということは調べがついたのですが、実際loadMovieを使用してみると エラーが出てしまいます。 ちなみにloadvarsを使って値をとって来ることには成功しています。 どなたか解決策がわかる方、教えてください。お願いします。

    • ベストアンサー
    • Flash
  • 外部png画像の読み込みについて

    いつもお世話になっております。 下記サイトの作品サンプル No.880「ドラッグ可能な拡大回転画像」に関して質問させてください。 http://hfm-kenchan.com/Lesson/contents/index.htm 上記サンプルでは、外部jpgファイルを使用していますが、ここにjpg画像ではなくpng画像を使用したく考えております。 (背景が透明な画像を使いたいと思いまして。) アクションスクリプト内の oadThumb.loadMovie(_parent.Path+"s"+num+".jpg"); loadPic.loadMovie(_parent.Path+"p"+num+".jpg"); を loadThumb.loadMovie(_parent.Path+"s"+num+".png"); loadPic.loadMovie(_parent.Path+"p"+num+".png"); に変更し、画像格納フォルダにpng画像を入れてプレビューしてみたのですが、png画像が表示されませんでした。 色々調べたところ、Flashがpng画像に対応したのはFlash8からとのことで、この辺があやしいのか。と思いましたが、私のFlashはFlash8ですので、特に問題はないかと思います。 ※サンプルの環境はMXらしいのですが、私の環境 8でflaファイルを保存しなおしてます。 アクションスクリプト内に、何か特別な記述(?)が必要なのでしょうか。 または、png画像の書き出し方に問題があるのでしょうか。。。 png8、png24、png32、またgifファイルで書き出してもswfにおいて、画像は表示されませんでした。 jpgで書き出したときのみ、正常に表示されました。 お手数ですが、原因、解決策などございましたら、ご教授いただけませんでしょうか。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • 外部ファイルの画像読み込みについて

    環境 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で画像と文字を表示

    ActionScriptで1フレーム目にボタンをおいて2フレーム目に 任意のjpg画像を表示させたいのですができません。 同一フレーム内で on (press) { image.loadMovie("hoge.jpg"); } とすれば表示はできました。

    • ベストアンサー
    • Flash
  • flash lite で複数画像の読み込み

    いつもお世話になっています。 今携帯電話でのflashサイトを作成しています。 作成環境は CS5 actipnscript は actipnscript Lite2.0 です。 "MovieClipLoader"の"loadClip"を使い一度に複数の外部画像を読み込みたいのですが、 どうしても、複数の画像を読み込めません。 どこを調べても複数画像の表示の情報が無く困り果てています。 あと、画像の読み込み方もユーザーがらの"ボタンを押す"などのイベントが発生してから 画像を読み込むと言う処理をしているのですが、イベントをなくしてswfファイルが 読み込まれると同時に画像が表示される物を作成できたらいいなと思っています。 ------------------------ actionscript ------------------------ bot_left.onPress = function() { //外部画像読み込み var loader = new MovieClipLoader (); loader.loadClip("./photo/1/1.jpg" , en1); } ------------------------------------------------------------------ どうか複数の画像を読み込める方法がございましたら教えていただけましたら大変ありがたいです。 なにとぞよろしくお願いいたします。

    • ベストアンサー
    • Flash