LoginSignup
1
0

More than 1 year has passed since last update.

アナログ時計

Last updated at Posted at 2021-12-16

Scratchでアナログ時計を作ってみましょう。アナログ時計を作るには、二つのテクニックを使います。

  • 1秒ごとにイベントを発生させる
  • 針のアニメーション

1秒ごとにイベントを発生させる

シンプルに書くとこんなプログラムになります。ただ実際には、1秒といっても誤差が発生してしまい、例えば"0.99秒"の次に"2.01秒"のように1.02秒しかたっていないのに、秒以下が切り捨てられて2秒進んでしまう時があります。


図:誤差の出る例

そこで、一つ前の状態を管理する変数を用意して、違いが発生したらイベントを発生させるようにします。

針のアニメーション

秒針と60秒で360度になるので、1秒=360/60=6度となるように角度を調節します。

長針も秒針と同様に、1分=360/60=6度となるように角度を調節します。

短針は1時の2時の間の状態もないと不自然なので、時間だけでなく分も考慮して角度を決定します。「現在の"時"を12で割った余り」は、1時と13時をどちらも1時とするようにしています。

image.png

針のコスチュームは、文字盤の中心になる位置が真ん中になるようにデザインします。

image.png

サンプルプロジェクト
https://scratch.mit.edu/projects/525271061

スクリーンショット

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0