メイン とにかくFLASH【FLASHに関して全般】 カウントダウンで予定日を外部テキスト化したい | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ecoeco | Åê¹ÆNo.28154 投稿日時: 2006-8-24 15:47 |
新米 居住地: 投稿: 6
使用環境:
MacOS10.4,Flash MX2004 |
カウントダウンで予定日を外部テキスト化したい 作業環境:MacOSX/FlashMX2004
予定日まで「あと○○日」と表示するFLASHで、 その予定日を外部テキスト化したいのですが、 うまくいかず悩んでいます。 現在、外部化しない状態では正常に動いています。 _rootにダイナミックテキスト「event_day」をつくり、 asレイヤーのフレームアクションに以下スクリプトを設定しています。 /*---------------------------------------------*/ date_obj = new Date(); today_year = date_obj.getFullYear(); today_month = date_obj.getMonth(); today_date = date_obj.getDate(); eventUTC = Date.UTC( 2006 , 7 , 31 ); todayUTC = Date.UTC( today_year , today_month , today_date ); event_day = ( eventUTC - todayUTC )/1000/60/60/24; if(event_day==0){ _root.gotoAndStop("sample1"); }else if(event_day==1){ _root.gotoAndStop("sample2"); } /*---------------------------------------------*/ これを外部化しようとしたのですが、うまくいかず、 http://book.mycom.co.jp/support/e5/actionscript10/ こちらのサイト「9-07」から参考にFLAファイルをダウンロードし、 以下のようにスクリプトを変更してみたところ、 これでパブリッシュすると非数「NaN」と表示されてしまいます。 /*---------------------------------------------*/ System.useCodepage = true; _root.loadVariables("date.txt"); _root.onData = function() { y = input_date.substr(0, 4); m = input_date.substr(5, 2); d = input_date.substr(8, 2); toDay = new Date(); theDay = new Date(y, m-1, d); days = Math.ceil((theDay.getTime()-toDay.getTime())/(24*60*60*1000)); }; /*---------------------------------------------*/ ↑このASでパブリッシュする際は ダイナミックテキストの変数名をこのサンプルに合わせて「days」にしました。 原因がお分かりでしたら 是非ご教授くださいませ。 |
Tonpoo (gaienboy改め) | Åê¹ÆNo.28157 投稿日時: 2006-8-24 16:24 |
職人 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro, Flash Player 10,1,102,64 |
Re: カウントダウンで予定日を外部テキスト化したい gaienboyといいます。こんにちは。
引用: ecoecoさんは書きました:以下のようにスクリプトを変更してみたところ、 date.txtの内容がどう書いてあるのかわからないので、もしかしたら ハズしてるかもしれませんが、変数y,m,dが文字列として扱われて いるのではないでしょうか?下記のようになってみるとどうなるでしょう?
|
ecoeco | Åê¹ÆNo.28159 投稿日時: 2006-8-24 17:03 |
新米 居住地: 投稿: 6
使用環境:
MacOS10.4,Flash MX2004 |
Re: カウントダウンで予定日を外部テキスト化したい ご返信有り難うございます。
外部テキストは input_date=2006/9/14 となっています。 教えていただいたasをそのまま貼付けてパブリッシュしてみたところ、 NaNは表示されなかったのですが、何故か外部テキスト 「input_date=2006/9/14」で「残り11日」と表示され、 「input_date=2006/10/14」で「残り51日」 と表示されてしまいます 原因分かる方いらっしゃいますでしょうか・・。 |
Tonpoo (gaienboy改め) | Åê¹ÆNo.28162 投稿日時: 2006-8-24 17:29 |
職人 居住地: 東京・神宮前 投稿: 717
使用環境:
Windows 7 Professional, Flash CS5 Pro, Flash Player 10,1,102,64 |
Re: カウントダウンで予定日を外部テキスト化したい こんにちは。gaienboyです。引用:
変数y,m,dは、それぞれ変数input_dateの文字列の中の決まった 位置から値を引っ張ってきてますよね?例えば、
これは、「変数input_dateの5文字目から2文字分を返す」という ことになるわけです。なので、 input_dateの値が「2006/9/14」なら「9/」 input_dateの値が「2006/10/14」なら「10」 が返ってきてしまいます。このように、月や日の桁数が違って しまうと、意図しない結果になってしまうので、日付の表記を 「YYYY/MM/DD」形式にするといいと思います。
もしくは、input_dateを「/」で区切って配列に入れて・・・ っていう手もありますが。
|
ひろゆき | Åê¹ÆNo.28163 投稿日時: 2006-8-24 17:36 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: カウントダウンで予定日を外部テキスト化したい スクリプトの転載はしてもよいものなのでしょうか?
書籍などのサンプル・ソースに関する扱い について、 笠居さんが述べられているので、確認してください。 転載してよいものかどうか不明なので、直接スクリプトを触れません...。 String.substr をヘルプなどで確認しましょう。 「input_date=2006/9/14」ではなく「input_date=2006/09/14」とする必要があるでしょう。 「input_date=2006/9/14」のままでやるのであれば、別の方法もありですね。 _root.onData は、どうも良くない気もするので、LoadVars を用いる方法で。
「LoadVars.loadで読み込む」も、参考まで。
|
ecoeco | Åê¹ÆNo.28190 投稿日時: 2006-8-25 11:45 |
新米 居住地: 投稿: 6
使用環境:
MacOS10.4,Flash MX2004 |
Re: カウントダウンで予定日を外部テキスト化したい 有り難うございました!
無事解決いたしました。 大変お世話になりました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |