提供: Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
| この項目は、書きかけの項目です。この項目に加筆・訂正などをしてくださる協力者を求めています。
|
Scratchで時計を作る方法として、次の二つがある。
スプライトを動かす方法
Scratchで時計を作る際に最も簡単な方法は[] 度に向けるを使う方法だ。
スプライト
まず、短針(○時を指すもの)・長針(○分を指すもの)・秒針(○秒を指すもの)のスプライトを用意する。
メモ:
この時に針が横を向くように注意しなければならない
プログラム
短針
@greenFlagが押されたとき ずっと (((現在の[時 v])/(12))*(360))度に向ける end
また、以下のようにすることで滑らかに動かすことができる:
@greenFlagが押されたとき ずっと (((((現在の[時 v])/(12))*(360))+(((現在の[分 v])/(60))*(30)))+(((現在の[秒 v])/(60))*(6)))度に向ける end
長針
@greenFlagが押されたとき ずっと (((現在の[分 v])/(60))*(360))度に向ける end
また、以下のようにすることで滑らかに動かすことができる:
@greenFlagが押されたとき ずっと ((((現在の[分 v])/(60))*(360))+(((現在の[秒 v])/(60))*(6)))度に向ける end
秒針
@greenFlagが押されたとき ずっと (((現在の[秒 v])/(60))*(360))度に向ける end
また、以下のようにすることで滑らかに動かすことができる:
@greenFlagが押されたとき [初めの秒 v]を(現在の[秒 v])にする ずっと ((((初めの秒)+(タイマー))/(60))*(360))度に向ける end
これは、タイマーが0.1秒刻みであることを利用している。
ペンを使う方法
基本的なプログラム(向ける角度)は同じだが、ペンを使う分ブロックが増える。
しかし、ペンを使うのでスプライトをいくつも使う必要はなくなる。
@greenFlag が押されたとき
ペンの色を[#000000]にする
ずっと
全部消す
ペンの太さを(10)にする
ペンを上げる//ここから時
x座標を (0) 、y座標を (0) にする
(((((現在の [時 v]) / (12)) * (360)) + (((現在の [分 v]) / (60)) * (30))) + (((現在の [秒 v]) / (60)) * (6))) 度に向ける
ペンを下ろす
(80) 歩動かす
ペンを上げる//ここから分
x座標を (0) 、y座標を (0) にする
((((現在の [分 v]) / (60)) * (360)) + (((現在の [秒 v]) / (60)) * (6))) 度に向ける
ペンを下ろす
(120) 歩動かす
ペンを上げる//ここから秒
x座標を (0) 、y座標を (0) にする
(((現在の[秒 v])/(60))*(360))度に向ける
ペンの太さを(5)にする
ペンを下ろす
(160) 歩動かす
end