このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。
スクラッチ講座、投稿記事のまとめはこちら(一分間スクラッチ講座 まとめ)でご参照ください。
今回から数回にわたり、時計の作り方についてご紹介していきます。
初回の今回は秒針の作り方。普通に作ってしまうとカチッ、カチッ、と1秒ごとに更新される動きになってしまいますが、タイマーを使うことでスムーズに動き続ける秒針を作ることができます。
下の動画は不定期配信の「ファイブボックス一分間スクラッチ講座」です。ご興味のある方は併せてご参照ください。
1、素材作成
このシリーズではスクラッチキャットを使ってアナログ時計を作ってみます。
完成イメージは下のような感じ。今回はスクラッチキャットの左手を使って秒針を作ってみます。
※素材にこだわらない場合は、中心から右側に伸びる水平な針でもOKです。
まずはスクラッチキャットを編集、左腕を選択した状態で切り取ります。 切り取りはショートカットを使用します。Windows PCなら「Cotrolキー」+「Xキー」、MacPCなら「Commandキー」+「Xキー」。
続いて新しいスプライトを追加して、切り取った左腕を貼り付けます。
貼り付けた左腕を下のように編集
❶「変形ツール」を活用し、右側に水平に伸ばす(長針に見えるように)
❷ 長身の回転の中心(回転軸)を編集画面中央のマーカーに合わせる
作成したスプライトの名前を「秒針」にしておきます。
最後は片腕の取れたキャットの肩の近辺を編集画面の中央のマーカーに合わせます。
2、キャットのプログラム
キャットは中央に配置するだけですが、この後作成する秒針が正しく起動しているかを確認するため、現在の秒を表示させます
旗が押されたとき
x座標を 0 、y座標を 0 にする
大きさを 70 %にする
ずっと以下の処理を行う
「現在の秒」を言う
3、秒針のプログラム
秒針の素材は、0度の時上を向くように作成しました。時計は60秒で一周、つまり360度移動するので、1秒間で6度ずつ回転します。
つまり「現在の秒」×6度が時計の針が向いている方向になるはずです。例えば15秒の時は、15秒×6度=90度、ちょうど右の方向を指し示すことになります。
旗が押されたとき
最背面へ移動 - 左腕はキャットより奥に配置します
x座標を 0 、y座標を 0 にする - 回転軸を画面中央に指定
ずっと以下の処理を行う
「現在の秒」* 6度 に向ける
ではこの状態で起動させてみましょう。正しく動いていることが確認できたと思います。
4、秒針のプログラム(改修編)
作成した秒針は、1秒ごとに変化します。正しく秒を告げているので問題はないのですが、高級な時計のようにスムーズに動かしてみたいですね。
新たに 変数「秒」を用意して、タイマーを使って次のようなプログラムを作ってみました。
ずっと「タイマー」×6度にすれば1分間に1周する時計はできるのですが、指し示す時間が現在の秒と違う値になります。
そこで変数「秒」を使って、初期値に(タイマー)-(現在の秒)を指定し、タイマーと現在の秒の差を代入します。
ずっとの内部では、タイマーから変数「秒」を引くことで、現在の時間を割り出すことができます。
ずっとの中の「タイマー」- 変数「秒」の変数「秒」に初期値として代入した「タイマー - 現在の秒」をもどすと「タイマー」-(「タイマー」- 現在の秒)となります。「タイマー」同士が打ち消しあって、最終的には「現在の秒」が残るので、最初の状態に戻っているということですね。
ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。
Kommentare