- ベストアンサー
携帯Flash 曜日の取得ついて(文字)
お世話になっております。 「携帯Flash 曜日の取得」についてアドバイスを頂きたいと思い、質問欄を書きました。 現在フラッシュの時計待ち受けを制作しています。 「曜日の取得」を行い、テスト表示して見たのですが、 曜日の表示が(英語です)小文字になってしまいます。。 「Monday」と表示したいのに 「monday」と表示されてしまいます。 はじめの一文字を大文字にするにはどうしたらよいのでしょう。 ご存知の方、教えていただけると嬉しいです。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1です。 お持ちの Flash のバージョンは 8 なのですね。ご説明ありがとうございます。 Flash のバージョンもわかった方が回答しやすいのですが, しかし,それよりむしろ "Flash Lite" のバージョンが何なのかが知りたかったのですよ。 #1に書いた参考URLをご参考にされたのであれば, Flash Lite 1.1 用 SWF を作成するという方向で考えてよろしいですよね。 あと,「Monday」を表示する方法もたくさんあるので, どうやって表示させているのかもわからなかったのです。 これも,#1に書いた参考URLをご参考にされたのであれば, テキストデータをスクリプトでダイナミックテキストフィールドに表示させていると考えてよろしいですよね。 作成されている方にとっては, 目標は1つで,そのバージョンやその方法しか目に入らないため, 『「Monday」 を 「monday」 としか表示されない。』 で通じると思っていらっしゃるかもしれませんが, こちらとしては,ぜんぜん状況が把握できていないわけです。 当然,何をどうやったら「Monday」 が 「monday」 にしか表示されないのかがわからないのです。 それで,#1では, Flash Lite のバージョン と スクリプトを訊いたのです。 ===================================== #1の参考URLで書いた方法でうまく行かないその原因はよくわかりませんが, おそらく,携帯に付いている Flash Player の不具合だとは思います。 原因はわからなくても対処法はいくらでも(考えようによっては無間通り)あります。 また,Flash Player の不具合だとしても, PC のように「最新のFlashPlayerを入れてください!」なんてことは言えませんよね。 ご質問の場合は, 簡単に,画像(静止テキスト)で回避すれば簡単で良いと思います。 画像(静止テキスト)で回避すると, スクリプト的には,ダラダラした if 文 もなくなりますし, フォントも埋めこまずに済むのでファイルも軽くなる可能性があるため, むしろ,この方法の方が良いかもしれません。 実は,回避でもなんでもなく,普通の方法かもしれません。 ステージ上に, "静止テキストで",「Sunday」(日曜)を書きます。 ダイナミックテキストではありません,静止テキストです。 自体も何でも良いです。 せっかく静止テキストで行くのですから,面白いフォントの方が良いかもしれません。 自体は何でも良いですが, 少なくとも,「_ゴシック」や「_等幅」のように前に「_」の付いたデバイスフォントを使用することだけは,この場合に限って避けてください。 その「Sunday」を選択して, 「修正」→「シンボルに変換」で,ムービークリップに変換します。 ムービークリップにした「Sunday」を選択して, 下のプロパティインスペクタで,インスタンス名を付けます。 インスタンス名は適当に何でも良いですが, 「week_mc」というインスタンス名を付けたとしておきます。 その,「week_mc」をダブルクリックして, 「week_mc」内のタイムラインの編集に入ります。 「week_mc」内のタイムラインは,1レイヤー1フレームで, Sunday という文字があるだけだと思いますから, そのレイヤーの フレーム2 ~ フレーム7 をドラッグで選択し, 「右クリック」→「キーフレームに変換」で, フレーム1~7を全て Sunday と書いたキーフレームにします。 □ レイヤー 筆・・|●|●|●|●|●|●|●| └- 全て Sunday -┘ そして, フレーム2 のステージ上の Sunday を,Monday に書き替えます。 また, フレーム3 のステージ上の Sunday を,Tuesday に書き替えます。 また, フレーム4 のステージ上の Sunday を,Wednesday に書き替えます。 また, フレーム5 のステージ上の Sunday を,Thursday に書き替えます。 また, フレーム6 のステージ上の Sunday を,Friday に書き替えます。 また,, フレーム7 のステージ上の Sunday を,Saturday に書き替えます。 文字の色もそれぞれ変えても良いです。 例えば Sunday は赤で,Saturday は青で,それ以外が緑とか,そんな感じにしても良いです。 これで,「week_mc」内の編集は終わりですから, 「編集」→「ドキュメントの編集」などで,_root の編集に戻ります。 そして, > weekday = fscommand2("GetDateWeekday");//曜日の取得 > if(weekday==0){ > w="sunday"; > ~ ~ というように書いた, ダラダラと長いスクリプトを次のように書き替えます。 ------------------------------------ // ターゲットに命令(week_mcに命令) tellTarget ("week_mc") { // 曜日番号+1 フレームに 行って止まれ gotoAndStop(fscommand2("GetDateWeekday")+1); } ------------------------------------ 実質たった2行です。 上記のものは, 単に Sunday ~ Saturday という文字列を表示させるだけの説明ですが, そうしなくても色々応用は利きますね。 例えば, 一番下のレイヤーに上の「week_mc」を置いて, Sunday ~ Saturday という文字列を用意するのではなく, 日曜なら日曜の背景,月曜なら月曜の背景,…,土曜なら土曜の背景を用意しておくと, 曜日によって背景を変えることもできます。 その他,様々な活用方法が可能です。 最初の方に, 実は,回避でもなんでもなく,普通の方法かもしれません。 と書いたのはそのためです。 ※ 上に書いた tellTarget関数 は, Flash4以下のSWFを作成する場合, もしくは FlashLite1.0か1.1のSWFを作成する場合以外は 使用禁止です。 一般的な Flash には使用しないでください。 一般的な Flash では, week_mc.gotoAndStop(…); のように書きます。 ※ fscommand2("GetDateWeekday") は, Flash Lite 1.1 以上をターゲットとして考える場合使う物です。 Flash Lite 1.0 では使えませんし, Flash Lite 2.0 以上をターゲットとする場合は, Dateオブジェクトを作成して, Dateオブジェクトから day を get します。
その他の回答 (1)
Flash Lite のバージョンは何なのでしょうか。 また, どういうスクリプトによって「monday」を表示させているのでしょうか。 バージョンによってスクリプトや動かす仕組みは大きく変わりますが, バージョンにかかわらず,そもそも,曜日は数字で取得されます。 0: 日曜 、1: 月曜、 2: 火曜、 3: 水曜、 4: 木曜、 5: 金曜、 6: 土曜 それをわざわざ, 「monday」に変換したから「monday」になるのであって, 「monday」に変換しなければ良いだけだと思いますが。 1 →変換 → 「Monday」 でも良いですし, 1 →変換 → 「月曜日」 でも良いですし, 1 →変換 → 「月に代わってお仕置きよ!」 でも良いですし, 1 →変換 → 「今週もあと5日で土曜だ」 でも良いですし, 1は1であってもともと「monday」ではありません。 携帯Flash 曜日の取得 fscommand2(GetDateWeekday) http://mobilef.jugem.jp/?eid=56
お礼
回答ありがとうございます。 使用しているバージョンはFlash 8です。 私もこのサイトを見てみました。スクリプトを参考にさせてもらって曜日を取得しました。 この紹介されているやり方の通りに制作したのですが・・・・ 携帯でデータを取得して見ると、やはり小文字に(泣) 何かやり方に問題でもあるのでしょうか。。。 フラッシュ初心者の私です、勉強もかねて色々調べる必要がありますね (汗) アドバイスありがとうございました。 引き続き皆様のアドバイスをいただきたいのでまだ締め切りはいたしません。(1~2日位)よろしくお願いします。
お礼
丁寧なご説明本当にありがとうございました。 私の説明不足で色々とご迷惑をおかけして。。。(汗) 早速アドバイスの通りにチャレンジしてみますね!! 色々と勉強になりました。フラッシュって奥が深いですね!(笑) ありがとうございました。