時間を読み込んでデジタル時計を作ろう! Roblox Studio(10/23更新)
こんにちは!
(米10/23追記 ここに書いてあるやり方でそのまま作ると現在の時刻が正しく表示されません。「時計に今の時間を表示させる」のページも読んでください。すみません!)
宿題に早くも追われているけつべつです。
突然ですが、電波時計って便利ですよね?
パッとみれば時間だけでなく、今日の日付や曜日も書いてあってすぐにわかります。
文明の利器だ!!!
皆さんも自分だけのデジタル時計を作って飾ってみたいとおもいませんか?
この記事ではRobloxStudioでのデジタル時計の作り方を教えます。
例
このモデルは自分の部屋に置いてある時計を真似して作りました。
時計の中身はこんな感じです。
このモデルの場合、分や秒ごとに透明なブロックを作り、その表面にSurfaceGuiで数字を表示させ時計のモデルの表面に並べています。こうすると作りやすいので…。
一つのGUIの中に複数の数字を表示させる作り方もできるらしいです。後で編集しやすいはずなので次時計を作るようなことがあればその方法を使いたいです…。
こんな感じで仮の数字や文字を配置することで作りやすくなります。いえい!
よくわからなかったら記事の最後に貼ってあるリンクからこの時計のモデルの中身を観察してください。
時間の表示の仕方
今が何分なのかを表示させたい場合、SurfaceGui/TextLabelの中のScriptにはこう書きます。
while true do --繰り返す
script.Parent.Text = os.date("%M") --Textを分に置き換える
wait(1) --1秒ごとに更新
end
os.dateの後に続くかっこの中に%Mと書くと分を読み込むことができます。
時間は「%H」(24時制)
分は 「%M」
秒は 「%S」
月は 「%m」
日は 「%d」
とかっこの中に書けばそれぞれ読み込むことができます。
そのほかは https://developer.roblox.com/en-us/api-reference/lua-docs/os (英語) に書いてあるので見てください。
西暦と月日をまとめて読み込むこともできます。
数字を一桁だけ表示するには?
数字一ケタだけで月を表示させたいのに「07」になってしまう。ゼロを無くしたい!
そういう時はこう書こう。
while true do
script.Parent.Text = os.date("*t").month
wait(60)
end
os.date("*t")の後に .month と書くことで一桁で表示できます。
時間や秒を同じようにゼロなしで表示させたい人は
https://newbedev.com/lua-lua-os-time-code-example (英語)をみてください。すべての例が(多分)書かれています。
曜日を漢字表記にするには?
曜日を英語じゃなくて漢字一字で表したい!
その時はこう書くべし
while true do
local Data = os.date("*t")
if Data.wday == 1 then --もしwdayが1の時
script.parent.Text = ("日") --Textを「日」に置き換える
elseif Data.wday == 2 then --そうじゃなくて2の場合
script.parent.Text = ("月") --Textを「月」に置き換える
elseif Data.wday == 3 then
script.parent.Text = ("火")
elseif Data.wday == 4 then
script.parent.Text = ("水")
elseif Data.wday == 5 then
script.parent.Text = ("木")
elseif Data.wday == 6 then
script.parent.Text = ("金")
else --それ以外の場合
script.parent.Text = ("土")
end
end
wait(60)
wday(Weekday)は一週間のうちの何日目であるかを表す単語?です!
1は日曜日、2は月曜日って感じです。
こう書けば曜日は漢字一字表記になるはずです。
時間が合ってない…
10/23追記 ここに書いてあるやり方でそのまま作ると世界標準時が表示され、現在の時刻が正しく表示されません。「時計に今の時間を表示させる」のページも読んでください。すみません!
作ったモデル
わからないことがあればこのモデルの中身を見て参考にしてください。
時計の形や色、文字色やフォントを変えることでおしゃれなオリジナル時計ができます。
みんなもこの夏、時計を作って飾って遊ぼう…
〜おしまい〜