• ベストアンサー

Flashでその日が申込中のイベントを表示したい

Flash初心者です。 Flashで実現したいことがあるのですが方法がありましたら教えて下さい。 1年間に何十個かのイベントがあったとして、そのイベントの申込期間中だけそのイベントの申込期間であるという告知を表示しておきたいのです。 そのイベントの申込期間になるたびに 更新するのは大変なのでイベントのデータをあらかじめ全て入力しておいて自動で切り替わるようにできませんでしょうか? いろいろサイトも探してみたのですが 見当たりませんでした。 よろしくお願いします。

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

  • ベストアンサー
noname#35109
noname#35109
回答No.1

1つの形しか提示できませんが,実際は色んな形が考えられます。 発展や応用は色々と考えてみてください。 新規ドキュメント作成で, ステージ上に "ダイナミックテキスト" のテキストフィールド を用意します。 文字の色は黒などステージの背景色以外の色にして, たくさん文字が入るように少し横長にしておいてください。 そして,そのダイナミックテキストを選択した状態で, 下のプロパティインスペクタを表示させて,"インスタンス名" を付けます。 この説明では,「eventName」 というインスタンス名を付けたとしておきます。 そして, 新規でレイヤーを追加して,2レイヤーにします。  □ レイヤー 筆・・|○| ←新規で作ったレイヤー  □ レイヤー 筆・・|●| ←「eventName」がある その新規で作ったレイヤーを ActionScript 専用レイヤーと頭の中で決めておいて, そのレイヤーのフレーム1を選択し, 下のアクションパネルを表示させて, そのアクションパネルに次のようなスクリプトを書きます(コピペ可能)。 ------------------------------------ // イベントデータ配列 eventArr を作成 var eventArr = new Array(); // // イベント日とイベント名を用意(2次元配列※可変) eventArr.push(["2007/6/19", "雨まつり"]); eventArr.push(["2007/6/20", "雨まつり"]); eventArr.push(["2007/6/21", "雨まつり"]); eventArr.push(["2007/6/22", "雨まつり"]); eventArr.push(["2007/7/15", "海で遊ぼう"]); eventArr.push(["2007/7/16", "海で遊ぼう"]); eventArr.push(["2007/7/17", "海で遊ぼう"]); eventArr.push(["2007/8/13", "盆まつり"]); eventArr.push(["2007/8/14", "盆まつり"]); eventArr.push(["2007/8/15", "盆まつり"]); eventArr.push(["2007/8/16", "盆まつり"]); // 定形文字列 finite の設定(※可変) var finite = " 申し込み期間中です!"; // // 変数 eventLen に配列の要素数を取得 var eventLen = eventArr.length; // ☆ちょっと検証(本番は不要) trace("イベント数="+eventLen); // // 今の時刻オブジェクトを作成 var nowDat = new Date(); // 年の取得 var now_y = nowDat.getFullYear(); // 月の取得 var now_m = nowDat.getMonth()+1; // 日の取得 now_d = nowDat.getDate(); // 今日の日付文字列を作成 var today = now_y+"/"+now_m+"/"+now_d; // ☆ちょっと検証(本番は不要) trace("今日="+today); // // テキストフィールド eventName に表示の初期化 eventName.text = ""; // // イベント数の回数ループ for (var i = 0; i<eventLen; i++) { // eventArrの0番要素と today の文字列が等しいとき if (eventArr[i][0] == today) { // その 1番要素を テキストフィールド eventName に表示 eventName.text = eventArr[i][1]+finite; } } ------------------------------------ そして, 「制御」→「ムービープレビュー」してもらうと, できたものや, trace 関数で出力される確認用データなどが表示されると思います。 Flash の時刻(日付)取得は,ローカルPCの時刻(日付)です。 パソコンの日付を変更すると,Flash で取得する時刻(日付)も変わるので, 色んな日でちゃんとデータが表示されるかどうか実験できます。 2次元配列のデータも同じ形で違う内容に変えてもらうと,データも自作可能です。 数も自由です。 ////////////////////////////////////////////////////// ~ その他補足 ~ ◎ getMonth について getMonth() で得られる月は,0月から始まります。 日本人の方がデータを作成しやすいように, var now_m = nowDat.getMonth()+1; でわざと 1 を加算して取得しています。 ◎ 配列について 配列の要素(エレメント)番号も0番から始まります。 上の場合例えば, eventArr[0][0] は "2007/6/19" です。 eventArr[0][1] は "雨まつり" です。 eventArr[4][0] は "2007/7/15" です。 eventArr[4][1] は "海で遊ぼう" です。 順次そういう感じで認識してもらうとプログラムやデータが理解できると思います。 配列を使わずに,普通の変数群を大量に用意してもかまいませんが, 配列にした方が .length で要素数が取得できたり, [日付,イベント名] のようにデータをペアで扱えるので使い勝手が良いため配列でデータを用意しています。 2次元配列は,簡単に言うと Flash 内に Excel の表を用意したようなものです。 Excel など表計算ソフトはデータを2次元平面に表すソフトですよね。 Excel で,あるシートに,     A列     B列 1 2007/6/19 雨まつり 2 2007/6/20 雨まつり 3 2007/6/21 雨まつり 4 2007/6/22 雨まつり 5 2007/7/15 海で遊ぼう 6 2007/7/16 海で遊ぼう 7 2007/7/17 海で遊ぼう 8 2007/8/13 盆まつり 9 2007/8/14 盆まつり 10 2007/8/15 盆まつり 11 2007/8/16 盆まつり というデータを用意しておいて, ------------------------------------ Sub ShowEvent() ' 定形文字列 finite の設定(※可変) finite = " 申し込み期間中です!" ' 変数 eventLen にアクティブシートA列の最終行数を取得 eventLen = ActiveSheet.Range("A65536").End(xlUp).Row ' ☆ちょっと検証(本番は不要) MsgBox ("イベント数=" & eventLen) ' 今日の日付を取得 today = Date ' ☆ちょっと検証(本番は不要) MsgBox ("今日=" & today) ' C列の1行を空白に ActiveSheet.Cells(1, 3) = "" ' イベント数の回数ループ For i = 1 To eventLen ' A列のi行 と today が等しいとき If ActiveSheet.Cells(i, 1) = today Then ' C列の1行 に B列のi行 の値を代入 ActiveSheet.Cells(1, 3) = ActiveSheet.Cells(i, 2) & finite End If Next i End Sub ------------------------------------ というマクロを実行させているのと同じようなことです。 言語や仕様や外観が違うだけで,やっていることはほとんど同じですね。 また,上の例では使っていませんが, データが表形式なので,ソートや削除(上にシフト)などなども簡単になります。 って,Excel を持ち出した方がややこしかったでしょうか...? ◎ その他応用 上ではテキストのデータを変えているだけですが, シンボルとしてイベントごとのムービークリップを用意しておいて, ある日付になるとその日付用のムービークリップを attachMovie() する方法なども考えられます。 「リンケージとは?」 http://www.1art.jp/flash2/chapter/33/33.htm また,「NowLoading...」さえ付ければ, 日付に応じてメインムービー(_root)や,ムービークリップのフレーム移動(gotoAndStop())も可能です。 とにかく, 同じ原理で無数に色々なことはできますから, 色々考えてみてください。  

inataro
質問者

お礼

ありがとうございます!! 無事できました。 スクリプトをじっくり一つ一つ見てみてるとなるほどって感じでした。 いろいろ研究してみます。

関連するQ&A

  • MIXIのイベント告知を非表示に

    mixiのコミュニティーをよく活用しています。 トピックを更に表示したくて[→もっと読む]をクリックするとイベントまで表示されます。 そのコミュニティーはイベントの告知が毎日のように更新されるのでトピックがもっと読みたいのにイベントの告知ばかりで、なかなかトピックにたどり着きません。 [→もっと読む]をクリックしたときにイベント情報を非表示にすることはできないでしょうか?

  • Flashが表示されない

    初心者ゆえに解決策がみえなく困っています。どうぞおたすけください。 Flashを一部で使ってサイトを作製したのですが、そのFlash部分がFireFoxで表示出来ません。 IEは表示されます。(正確に言うとIEとFireFox以外のブラウザでチェックしていないので、IE以外のブラウザ全てで表示されないのかFireFoxでのみ表示されないのかわかりませんが…) FireFoxはちゃんと最新のFlashプラグインが入っていて、自分の作ったサイト以外のFlashは見ることが出来ます。 ちょっと行き詰っていて困っています。どうぞよろしくお願いします。 ちなみにそのサイトはhttp://3.csx.jp/masaomi/です。

    • ベストアンサー
    • Flash
  • flashが表示されたり、されなかったりするのはなぜ?

    flashを使用したホームページをつくりましたが、アクセスのたび画像が表示されたり、されなかったりとまちまちで、困っています。例えば、同じブラウザ内で「更新」を押しても表示されたりされなかったり、新しいブラウザをあけてアクセスしても同様で、本当にバラバラです。 画像が大きすぎるのかと思って少し縮小したものを使用しましたが変わりません。なお、フラッシュを使用している他サイトをみると、通常通り表示されます。 画像が全く表示されないならまだ分かりますが、されたりされなかったりというのは初めてなので理由がわからず困っています。

  • フラッシュ表示について

    フラッシュの表示について教えてください。 こちらのフラッシュをかりてホームページを作成しています。 http://www.tomisan.com/sozai/flash/swf/mainmenu/topmenu4_ja/topmenu4_ja.html 私のサイトはscrapbits.jp なんですが、これで入力するとちゃんと表示されます。 しかし、www.scrapbits.jp で入力すると、すごく大きく表示され、 内容もちゃんと表示されません。 フラッシュのmovie などのURL指定するところを、wwwから指定すると、 こんどは scrapbits.jp で入力したときに内容が一部表示されず、 .jp だけで指定すると、www. からのほうが内容が表示されません。 サイズ表示は、お借りしているところの指定サイズに合わせてるんですが、 これはURL指定を変更しても、wwwから表示させたときは、すごくでかいです。 Chromeを使用していますが、他ので見るとちゃんとうつっているのでしょうか? どこを触っていいのかわからず、質問させていただきました。。。 宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • エクセルでイベント参加申込者の名簿を作っています。

    エクセルでイベント参加申込者の名簿を作っています。 常に最新の人数を最下段に表示するにはどうしたらよいのでしょうか? 例えばB1~B30に名前が記入されている場合、申込者の人数を集計するには、=counta(B1:B30)とすればよいことは分かりました。 しかし、まだ申し込み受付中で、日々名前は増えていきます。 そこで、その時点での人数を常に最下段に表示するには、どうしたらよいのでしょうか? エクセルは全く詳しくないので、初心者向けに易しく教えていただけると助かります。

  • Flash内で検索

    Flash内で検索をしたいと思っています。具体的にはこんな感じです。  1,Bob  2,John  3,Joe というファイル(データ)があり、検索窓に1を入力して検索ボタンを 押すと、Bobが表示されるといった仕組みです。 Flashはほとんど初心者なので、これが可能なのかどうかをまず 知りたいです。簡単にできるようであれば、ソースの例やサンプルが あるサイトを教えていただけると助かります。 あと、この場合、データもFlashのファイルに含めることができますか? ちなみに、なぜFlashかというと、auの携帯がjava未対応だからです。 (もうすぐ自作javaも対応になるらしいですが・・・)

  • FLASHのフルスクリーン表示の作り方。

    宜しくお願いします。 CDなどに出来上がったフラッシュデーターを焼いて、 その焼き終わったCDの中にアクセスし、 フラッシュの「***.swf」のアイコンをクリックして作品を立ち上げると、 フルスクリーンにて表示させるには、フラッシュをどういう風に作れば可能なのでしょうか? 試しに、 HTMLないにフラッシュ(作品)へのリンクボタンを設置して、 javascriptにてフルスクリーン表示。。。。 というワンクッションおく形では実現できましたが、 swfのアイコンをクリックしていきなりフルスクリーン表示ということは 不可能なのでしょうか? また、できれば、CDをドライブに挿入したと同時に、フルスクリーンにてフラッシュがスタートする。というものが一番ベストです。 アプリケーションぽく立ち上がってくれればいいんですが・・・。 宜しくご教授くださいませ。

    • ベストアンサー
    • Flash
  • フラッシュフィルと参照

    フラッシュフィルを使って入力したデータの元データを変更したのに、フラッシュフィルで入力したデータが更新されません。 フラッシュフィルを使わず、参照を使うほうが良いですか?

  • タイフェスタなどのイベントについて

    いつもお世話になっています。 代々木公園などで行われているタイフェスタや 先日どこかの公園であったドイツのビールフェスタのようなイベントの 開催日時や場所がわかるようなサイトやメルマガはあるのでしょうか? ご存知でしたら教えてください。 食べ物系に限らず短期間イベントの告知があるサイトがあれば それも教えていただきたいです。

  • データを複数の異なるフォームに送付する方法

    初心者です。 データを複数の異なる入力フォームに送付する方法を教えて下さい。 実現方法は、どういう方法でも構いません。 もしネット上で公開されているcgiやphpなどがあるようでしたら、情報を教えて下さい。 例としては、一括で資料請求ができるサイトをイメージして頂けると分かりやすいかと思います。 Aサイトで資料請求をするための基本情報をユーザに入力してもらうと、自動的に、別運用のBサイト、Cサイト、Dサイトの申込フォームにデータを投入して申込処理を実行させるというものです。 実現する方法を教えて下さい。 初心者ですので、初歩的な内容でしたらご容赦ください。

    • ベストアンサー
    • CGI

専門家に質問してみよう