No.1ベストアンサー
- 回答日時:
おそらく、onEnterFrame か onClipEvent(enterFrame) を利用し、Date オブジェクトで時刻を常時取得して表示していると思います。
Date オブジェクトでは秒も一緒に分かるはずですから、例えば秒が偶数だった時にはコロン(” : ”)のムービークリップを非表示にし、奇数の時だけ表示する、としてはいかがでしょう。
偶数か奇数かは、秒を 2 で除算した余りを見ると分かります。
スクリプトでは、% 演算子で剰余を求めることができます。
お使いの Flash のバージョンや、表示する部分をどのように作っていらっしゃるかがよく分かりませんので、さしあたって、次のような構成のムービークリップシンボルのインスタンスがステージにあるものとして考えます。
時計のムービークリップ
├ 時間を表示するテキストフィールド
├ 分を表示するテキストフィールド
└ コロンのムービークリップ(インスタンス名” colon_clip ”)
偶数秒の時にコロンを非表示に、奇数秒の時にコロンを表示するスクリプトは、大体、次のようになります。
このスクリプトは、時計のムービークリップの”インスタンスに”記述してください。
(↓各行頭に全角のスペースが入っています。コピーする際は、全て半角のスペースかタブに置き換えてください)
/********************************************************/
onClipEvent(enterFrame)
{
//現在の時刻を取得
now_time = new Date();
//時間と分および秒を取得
hour = now_time.getHours();
minute = now_time.getMinutes();
sec = now_time.getSeconds();
//時刻を表示
/*
Flash Player 6 以上の場合は、
ここに時刻をダイナミックテキストに出力するスクリプトを書く
*/
//秒が偶数の時にコロンを非表示に、奇数の時に表示する
colon_clip._visible = Boolean( sec % 2 );
}
/********************************************************/
上記のスクリプトでは、変数 hour と minute に時間と分が入ります。
Flash Player 5 でパブリッシュする場合は、テキストフィールドに表示する変数にこれらの変数を指定して表示してください。
Flash Player 6 以降は、テキストフィールドを制御する TextField オブジェクトが持っている” text ”というプロパティを書き換えることでテキストフィールドに表示する内容を変更します。
例えば変数 hour の値を表示するには、テキストフィールドにインスタンス名を付けて、
インスタンス名.text = hour;
というように書きます。
Flash Player 5 と同様にテキストフィールドに変数名を指定しても問題なく動作しますが、TextField オブジェクトが登場した Flash Player 6 以降は、変数名を指定して表示する方法は非推奨になりました。
**********************************
細かい表示については作品に合わせて対応していただくとして、考え方のポイントは、秒を取得し、これが偶数か奇数かによってコロンのムービークリップの表示・非表示を切り替えることです。
上記のスクリプトでは、
//秒が偶数の時にコロンを非表示に、奇数の時に表示する
colon_clip._visible = Boolean( sec % 2 );
↑この部分が、今回の肝になります。
取得した秒は、変数 sec に入ります。
sec % 2 で偶数か奇数かを判断し、この結果を Boolean というアクションでブール値( true または false )に変換して、ムービークリップの表示 / 非表示を決める _visible プロパティに設定します。
sec % 2 の計算結果は、sec の値が偶数の時は 0 、奇数ならば 1 です。
つまり、sec の値を同時に表示してみると分かりますが、秒が奇数の時にだけコロンのムービークリップ” colon_clip ”が表示されます。
実際はフレームレートの関係で微妙にズレることがありますけれど、人間の目では分からない程度です。
作例とは逆に、偶数の時に表示・奇数の時に非表示にしたい場合は
colon_clip._visible = ! Boolean( sec % 2 );
このように変更してください。
今回の本題ではないので詳しく触れませんが。
変数の値を表示したりコロンのムービークリップに指示を出す時は、ターゲットパスの誤りにご注意ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- イヤホン・ヘッドホン・補聴器 ワイヤレスイヤホンについて詳しい方お願いします。 2 2022/05/11 09:08
- Excel(エクセル) 表計算ソフトcalcにおいて、1時間10分を1.1と表記する方法とそれらを集計する方法は? 4 2022/04/06 16:54
- 電子レンジ・オーブン・トースター 電子レンジの非科学的(カルト的)動作の原因について考えられる理由を知りたい 8 2022/11/29 14:47
- PostgreSQL postgreSQLをbashで実行する際に「MORE」表示をなくす方法 1 2023/05/08 21:42
- C言語・C++・C# C言語 ① 5秒間 1秒間隔で点滅を繰り返す ② 3秒間 0.5秒間隔で点滅を繰り返す ①→②→①→ 5 2022/05/03 23:37
- その他(ブラウザ) テキストを入れるときの縦線の点滅がそれ以外のブラウザ上にも表れます。 1 2022/07/29 21:55
- 英語 提示文の仮定法が、時制の影響を受けていない理由について 10 2022/05/21 15:21
- 物理学 ミンコフスキー時空図の作図の仕方について 2 2023/04/30 10:01
- その他(パソコン・スマホ・電化製品) switch bot hub miniの接続ができません。 4 2022/11/16 15:41
- Visual Basic(VBA) Vba UserFormを前面に出す方法を教えてください 1 2023/08/17 11:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
vbs 割算のあまり
-
VS2008 C# ボタンのテキストを...
-
Flash 外部エディタの読み込み
-
Adobe Flash Player 9 のテキ...
-
チェックボックスのテキストを...
-
時計の:を点滅させたい
-
VB6.0 でメニューを作りたいん...
-
リッチテキストとHTMLの違いに...
-
ExcelでVBAを利用してオートシ...
-
テキストボックスにセルの値を...
-
RPG(AS400)の本、サイトってあ...
-
POIでのテキストボックス作成に...
-
ダイナミックテキストについて
-
別のアプリケーションのテキス...
-
変数に256文字以上のテキストを...
-
テキスト広告の作り方教えてく...
-
VB.NET メッセージボックスの表...
-
VB.NETで数十行のプログラムを...
-
Access2000 実行時エラー '3061':
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックスの中身をリセ...
-
変数に256文字以上のテキストを...
-
テキストボックスにセルの値を...
-
別のアプリケーションのテキス...
-
全てのテキストボックスをセル...
-
'2465'指定した式で参照してい...
-
POIでのテキストボックス作成に...
-
VB6.0 でメニューを作りたいん...
-
pdfのテキスト全文コピー、テキ...
-
Access2000 実行時エラー '3061':
-
VBSでMid関数を使ったらエラー...
-
VB.NET メッセージボックスの表...
-
HTMLのtextbox類に文字を残す
-
RPG(AS400)の本、サイトってあ...
-
VB.NET2005 DataGridViewでレコ...
-
テキストの横移動させて表示
-
アクセスのフォームから検索を...
-
FLASH上で日数カウントダウン
-
IP Address 入力フォームについて
-
Flash 暗号装置の作り方
おすすめ情報