見出し画像

第6回 文字盤表示をいじってみる【Garmin Connect IQ】

ここから連載10回くらいで一つWatchFaceがつくれたらいいなーと思っています。
かなりできること限られてそうにも感じましたが、実際のところどうなんでしょう?
今回のところは、まず適当にいじってみて、どうなるか。

画像1

現状

あ、これはサムネイル詐欺なのではないか。

現状がこちらです。

スクリーンショット 2021-03-27 17.44.06

夢がなく、希望だけが一人佇んでいる状態です。
いや、まあこういうのも嫌いじゃないけど、見辛いし。

で背景画像とか表示するにはいろいろ事前に学ばなければいけないことが多そうなんですが、ここまでインストールやら初期設定やらで疲れたので、まずはプログラミングっぽいことやりましょう!

コードをいじってみる

とりあえずこんな部分があると思います。24行目ですね。
ない場合は、new projectの時にSimpleではなく、Simple with settingsを選んでしまった可能性があります。

function onUpdate(dc) {
       // Get and show the current time
       var clockTime = System.getClockTime();
       var timeString = Lang.format("$1$:$2$", [clockTime.hour, clockTime.min.format("%02d")]);
       var view = View.findDrawableById("TimeLabel");
       view.setText(timeString);

       // Call the parent onUpdate function to redraw the layout
       View.onUpdate(dc);
   }

いろいろ書いてあってよくわかりませんが、試しに、var timeString = ・・・
の部分で"$1$:$2$"を"$1$@$2$"にしてみます。

var timeString = Lang.format("$1$@$2$", [clockTime.hour, clockTime.min.format("%02d")]);

実行。あ、セーブをお忘れなく。(Ctrl+SあるいはFile>Saveですね)

スクリーンショット 2021-03-27 17.51.06

スクリーンショット 2021-03-27 17.51.42

おお!時計としては意味不明ですが、とりあえずちゃんとこちらのやったことに反応してくれてます。よしよし。

じゃあここを変えれば時計の表示はいじれそうです。

秒を表示してみる

次。例えば、

var timeString = Lang.format("$1$@$2$:$3$", [clockTime.hour, clockTime.min.format("%02d"),clockTime.sec.format("%02d")]);

"$1$@$2$" → "$1$@$2$:$3$"
[clockTime. ・・・ .fromat("%02d")]
→  [clockTime.・・・.format("%02d"),clockTime.sec.format("%02d")])

*1、2と来てるんだからとりあえず3もいれてみるか、
というのと、
hour、minと来てるんだからとりあえずsec入れれば秒が出るんじゃない?
というざっくりしたイメージです。実行。

スクリーンショット 2021-03-27 17.59.17

ほーらね!
ならなかった人はプロジェクトの保存を忘れずに。Ctrl+Sです。

書き方(書式)についてテスト

じゃあ次。

var timeString = Lang.format("$1$@$2$:$1$", [clockTime.hour, clockTime.min.format("%02d"),clockTime.sec.format("%02d")]);

$3$を$1$にしただけです。

スクリーンショット 2021-03-27 18.02.47

なるほど、なるほど。時間hourが最初と最後に同じくでてきてます。
使い方としては、

アセット 1

と言うことですね。適当な文章に番号つきの箱を用意しておいて、中身を別で書く。

プログラミングを日常的にやってる方からすると当たり前なのかもしれませんが、なるほど、という感じです。

あとは、clockTime.min自体もformatがかけられてますが、そちらはまた少し違う形のようです。これは後でやろう。

とりあえずここまでで、今回はおしまい。
Garminの反応を楽しんだので、次回はちゃんと勉強して、WatchFaceの基本構造を理解、絵が表示できるようになりたいです。

あ、・・・

スクリーンショット 2021-03-27 18.28.16

日本語、表示できないのかー・・・。


この記事が気に入ったらサポートをしてみませんか?