• ベストアンサー

金曜日だけ表示されるボタン

こんばんわ。 PHPやjsでは date(YmdHi)など日付や時間などを取得できますよね。 フラッシュのアクションスクリプトでも時間の取得はかのうでしょうか? 具体的には 「金曜日の10時~18時のみ表示されるボタン」 が作ってみたいのですが、可能でしょうか? 宜しくお願いします。

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

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

#1です。 >> インスタンス名と変数は似たような役割と思っていいんでしょうか?? 似たような… あらためて聞かれると難しいですね。 似ていることは確かです。 インスタンス は 実体のあるオブジェクト のことで,インスタンス名はオブジェクト名なのですが, 変数も,変数オブジェクトと言いますから,そう考えると変数名もオブジェクト名の一種です。 http://e-words.jp/w/E382A4E383B3E382B9E382BFE383B3E382B9.html また,変数名もインスタンス名も識別子の一種です。 なので,似たものと言えるでしょうね。 http://homepage3.nifty.com/ginga-b/MX/identifiers.html オブジェクトの固有名詞ですよ。 インスタンス名は "主に",見えているオブジェクトの名称です。 ("主に" です。見えていないオブジェクトもインスタンスと呼ぶ場合があります。)  // 曜日の取得  myD = dtObj.getDay();   ↑これが変数名 変数は「値の入れ物」ですから, 普通はテキストベースの値の入れ物です。 Flash での インスタンスは "主に" ボタンシンボルやムービークリップシンボルなどの, ステージに配置されたものの名称です。 「シンボルとインスタンス」 http://www.1art.jp/flash/le/lesson1/lesson1.htm オブジェクトに名前を付けないと, そのオブジェクトのプロパティを,外部から操作することができないので,そのときにオブジェクトに付ける名称がインスタンス名です。  myButton._visible = true;  ↑myButton の _visible というプロパティ を true にする と言うことです。 #1で書き忘れましたが, #1で書いたスクリプトは,ボタンが出てくるフレームに書くスクリプトです。 ボタンがフレーム1でいきなり出没するものでしたら, タイムラインのフレーム1に書くスクリプトです。 ムービークリップシンボルの場合は, そのムービークリップが表示されたときに実行されるという, onClipEvent (load) が使えます。 onClipEvent (load) { this._visible = false; } 例えばこれ↑で, そのムービークリップがステージ上に登場したときの, そのムービークリップ自身(this) の_visible を false にできます。 ムービークリップにインスタンス名を付けても良いですが, この場合は付けなくても this で通用します。 しかし,ボタンシンボルの場合は,クリックなどをされるのが前提のインスタンスで, onClipEvent (load) という,出没したときに実行するイベントハンドラがありません。 ですから,フレームや他のインスタンスから,プロパティを変えてやらなければならないので, インスタンス名が必要になります。 普通はFlashのステージ上には,当然,複数のインスタンスが存在します。 単にフレームに _visible = false と書いても, 目的のボタンの _visible は false にはなりません。 目的のボタンの _visible を false にするためにインスタンス名が必要になります。 ちなみに, インスタンスは Flash のライブラリからシンボルの分身としてステージ上に存在するものですが, ライブラリの中のシンボル(シンボル)にも識別子をつけることができます。 http://www.fumiononaka.com/TechNotes/Flash/FN0402003.html こんなよう↑にしておくと, ライブラリの中のシンボルをActionScriptで呼び出したりすることもできます。 でも呼び出す場合は,どれを呼び出すのかを指定しないとならないので, 識別子が必要になります。

noname#20805
質問者

お礼

自分の知識が浅かったと反省しています。 フラッシュにも関数もあればもちろん変数も、 そして時間の取得などなど。 アクションスクリプトもっと勉強していきたいと思います。 また、どうしてもわからない際こちらのカテゴリに書き込むかもですがその際はどうか宜しくお願いします。 この度はありがとうございました。

その他の回答 (1)

noname#35109
noname#35109
回答No.1

>> PHPやjsでは date(YmdHi)など日付や時間などを >> 取得できますよね。 >> フラッシュのアクションスクリプトでも時間の取得は >> かのうでしょうか? そこまでわかっていたら,検索ですぐ出るでしょう↓。 http://www.google.co.jp/search?hl=ja&q=date+ActionScript&lr=lang_ja 普通はそこまでがわからないので, Flash ではどうすれば良いのか方法がさっぱりわからないのです。 Flash のバージョンを書かれていませんが, 普通の Flash なら Flash 5 から,携帯用 Flash なら FlashLite 1.1 から可能です。 一応,普通のFlashで,バージョン5 以上として回答します。 >> 「金曜日の10時~18時のみ表示されるボタン」 これは,Flash 的なものを使う必要がでてくるので,難しいとは思います。 メインムービー(_root)に,「myButton」というインスタンス名のボタンシンボルを作成し, 次のようなスクリプトを書けば, 「金曜日の10時~18時のみ表示されるボタン」 ができます。 ---------------------------------- // Dateオブジェクトの作成 dtObj = new Date(); // 曜日の取得 myD = dtObj.getDay(); // 時刻の取得 myH = dtObj.getHours(); // 金曜日の10時~18時のみ if (myD == 5 && myH>=10 && myH<=17) { // ボタンを表示 _root.myButton._visible = true; } else { // それ以外は ボタンを非表示 _root.myButton._visible = false; } ---------------------------------- ※この曜日や時刻は,   PHP などサーバーの時刻ではなく,   普通のJavaScript と同様,   クライアントサイド(ローカルPC)の時刻です。

noname#20805
質問者

補足

おお! 時間の取得ちゃんとあるんですね。 サンプルまで付けていただいてありがたいです。 ちなみにこの場合のインスタンス名と変数は似たような役割と思っていいんでしょうか?? 助かりました!

関連するQ&A