top of page

一分間スクラッチ講座 スムーズに動く時計の秒針を作る方法

このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。

スクラッチ講座、投稿記事のまとめはこちら(一分間スクラッチ講座 まとめ)でご参照ください。


今回から数回にわたり、時計の作り方についてご紹介していきます。

初回の今回は秒針の作り方。普通に作ってしまうとカチッ、カチッ、と1秒ごとに更新される動きになってしまいますが、タイマーを使うことでスムーズに動き続ける秒針を作ることができます。

下の動画は不定期配信のファイブボックス一分間スクラッチ講座」です。ご興味のある方は併せてご参照ください。



1、素材作成


このシリーズではスクラッチキャットを使ってアナログ時計を作ってみます。

完成イメージは下のような感じ。今回はスクラッチキャットの左手を使って秒針を作ってみます。

※素材にこだわらない場合は、中心から右側に伸びる水平な針でもOKです。

スクラッチキャットを使ったアナログ時計

まずはスクラッチキャットを編集、左腕を選択した状態で切り取ります。 切り取りはショートカットを使用します。Windows PCなら「Cotrolキー」+「Xキー」、MacPCなら「Commandキー」+「Xキー」。


キャットの腕の切り取りと貼付け

続いて新しいスプライトを追加して、切り取った左腕を貼り付けます。

貼り付けた左腕を下のように編集

❶「変形ツール」を活用し、右側に水平に伸ばす(長針に見えるように)

❷ 長身の回転の中心(回転軸)を編集画面中央のマーカーに合わせる


作成したスプライトの名前を「秒針」にしておきます。

キャットの腕で秒針を作る

最後は片腕の取れたキャットの肩の近辺を編集画面の中央のマーカーに合わせます。

キャットのスプライト

2、キャットのプログラム


キャットは中央に配置するだけですが、この後作成する秒針が正しく起動しているかを確認するため、現在の秒を表示させます


旗が押されたとき

  1. x座標を 0 、y座標を 0 にする

  2. 大きさを 70 %にする

  3. ずっと以下の処理を行う

    1. 「現在の秒」を言う


現在の秒を言う

3、秒針のプログラム


秒針の素材は、0度の時上を向くように作成しました。時計は60秒で一周、つまり360度移動するので、1秒間で6度ずつ回転します。

つまり「現在の秒」×6度が時計の針が向いている方向になるはずです。例えば15秒の時は、15秒×6度=90度、ちょうど右の方向を指し示すことになります。


旗が押されたとき

  1. 最背面へ移動 - 左腕はキャットより奥に配置します

  2. x座標を 0 、y座標を 0 にする - 回転軸を画面中央に指定

  3. ずっと以下の処理を行う

    1. 「現在の秒」* 6度 に向ける


    カチカチ動く秒針のスクリプト

ではこの状態で起動させてみましょう。正しく動いていることが確認できたと思います。


4、秒針のプログラム(改修編)


作成した秒針は、1秒ごとに変化します。正しく秒を告げているので問題はないのですが、高級な時計のようにスムーズに動かしてみたいですね。


新たに 変数「秒」を用意して、タイマーを使って次のようなプログラムを作ってみました。


ずっと「タイマー」×6度にすれば1分間に1周する時計はできるのですが、指し示す時間が現在の秒と違う値になります。

そこで変数「秒」を使って、初期値に(タイマー)-(現在の秒)を指定し、タイマーと現在の秒の差を代入します。

ずっとの内部では、タイマーから変数「秒」を引くことで、現在の時間を割り出すことができます。


スムーズに動く時計の秒針のスクリプト

ずっとの中の「タイマー」- 変数「秒」の変数「秒」に初期値として代入した「タイマー - 現在の秒」をもどすと「タイマー」-(「タイマー」- 現在の秒)となります。「タイマー」同士が打ち消しあって、最終的には「現在の秒」が残るので、最初の状態に戻っているということですね。


ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。

ご興味のある方は当サイト、オンラインレッスンから、無料体験授業へお問い合わせ下さい。






Kommentare


bottom of page