スクラッチプログラミング - ゆみやのつくりかた
弓(ゆみ)をひいて矢(や)をはなつ、弓矢(ゆみや)のうごきをプログラミングしましょう。マインクラフトのキャラで弓矢(ゆみや)をつかった簡単(かんたん)なゲームをつくったので、あそんでみてください。
更新日:2023年12月27日
サンプルさくひんであそんでみよう
今回(こんかい)は、弓矢(ゆみや)のプログラムのつくりかたを紹介(しょうかい)します。弓矢(ゆみや)のうごきを、あそびながらためしてみてください。
ゲームのあそびかた
- でてくるキャラたちを弓矢(ゆみや)でたおす
- キャラはたおされても復活(ふっかつ)する
- キャラが復活(ふっかつ)するまえに、みんなたおしたらゲームクリア
ゆみやのうごかしかた
- クリック(タップ)で矢(や)をはなつ
- マウスをおしたままうごかすと、弓矢(ゆみや)のむきをかえてねらうことができる
(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)
このきじをよむとわかること
- 弓(ゆみ)のむきをかえる方法(ほうほう)
- 矢(や)をはなつ方法(ほうほう)
ゆみのスプライトをよういする
ではこれから、弓矢(ゆみや)のプログラムをつくっていきましょう。最初(さいしょ)に、弓(ゆみ)のスプライトを用意(ようい)します。弓(ゆみ)のスプライトは、コスチュームを2つつくってください。
- コスチューム1:なにもしていない状態(じょうたい)
- コスチューム2:弓(ゆみ)をひいた状態(じょうたい)
![弓のスプライトのコスチューム2つ 弓のスプライトのコスチューム2つ](https://www.pyxofy.com/content/images/2022/08/15-01-scratch-programming-bow-and-arrow.png)
コスチュームをつくるときは、2つのコスチュームの中心(ちゅうしん)をあわせてくださいね。
ゆみをプログラミングする
弓(ゆみ)のプログラムのポイントは、つぎの2つです。
- コスチュームをきりかえる
- むきがかわるようにする
今回(こんかい)は、うえのほうへ矢(や)をはなつようにしたいので、弓(ゆみ)のむきをうえへむけてからはじめます。
- 弓(ゆみ)のむきをうえにする
![「旗が押されたとき」ブロックの下に「0度に向ける」ブロックをつなげる 「旗が押されたとき」ブロックの下に「0度に向ける」ブロックをつなげる](https://www.pyxofy.com/content/images/2022/08/15-02-scratch-programming-bow-and-arrow.png)
1. コスチュームをきりかえる
まずは、弓(ゆみ)のコスチュームがきりかわるようにプログラミングしていきましょう。コスチュームは、画面(がめん)がクリックされたときにかわるようにしますよ。クリックされたかどうかを確認(かくにん)するためにつかうのは、「マウスがおされた」ブロックです。
- もしマウスがおされたなら、「コスチューム2」にする
- なにもしていないときは、「コスチューム1」にする
![コスチュームを替える条件 コスチュームを替える条件](https://www.pyxofy.com/content/images/2022/08/15-03-scratch-programming-bow-and-arrow-2.png)
画面(がめん)をクリックしたときと、なにもしていないときとで、コスチュームがかわるようになりました。
2. むきがかわるようにする
つぎに、弓(ゆみ)のむきがかわるようにプログラミングしましょう。むきは、クリックした場所(ばしょ)によってかわるようにします。
- 「マウスのポインターへむける」を追加(ついか)する
![「もしマウスが押されたなら」ブロックの間に「マウスのポインターへ向ける」ブロックを追加する 「もしマウスが押されたなら」ブロックの間に「マウスのポインターへ向ける」ブロックを追加する](https://www.pyxofy.com/content/images/2022/08/15-04-scratch-programming-bow-and-arrow.png)
クリックしたほうへ弓(ゆみ)のむきがかわるようになりました。画面(がめん)のしたのほうをクリックすると、弓(ゆみ)もしたをむきます。
でも今回(こんかい)は、うえへむけて矢(や)をはなつようにするんでしたね。弓(ゆみ)がしたをむかないようにするために、むきがかわる範囲(はんい)を制限(せいげん)しましょう。ここでは、「-45ど」から「45ど」までの範囲(はんい)でむきをかえられるようにします。
![向き「-45度」から「45度」の範囲 向き「-45度」から「45度」の範囲](https://www.pyxofy.com/content/images/2022/08/15-05-scratch-programming-bow-and-arrow-2.png)
弓(ゆみ)の右側(みぎがわ)をクリックしたときに、「45ど」よりしたの位置(いち)だったら、それよりしたへむかないようにします。弓(ゆみ)の左側(ひだりがわ)をクリックしたときも、おなじようにしましょう。
- むきがかわる範囲(はんい)を制限(せいげん)する
![「もしマウスが押されたなら」ブロックの間に向きを制限するブロックを追加する 「もしマウスが押されたなら」ブロックの間に向きを制限するブロックを追加する](https://www.pyxofy.com/content/images/2022/08/15-06-scratch-programming-bow-and-arrow.png)
ゆみのプログラムかんせい
弓(ゆみ)のしたのほうをクリックしても、したをむかなくなりました。弓(ゆみ)のプログラムはこれで完成(かんせい)です!
![弓のプログラム 弓のプログラム](https://www.pyxofy.com/content/images/2022/08/15-07-scratch-programming-bow-and-arrow.png)
ではつぎに、矢(や)をプログラミングしていきましょう!
やのスプライトをよういする
矢(や)のスプライトも、コスチュームを2つ用意(ようい)します。
- コスチューム1:なにもしていないとき
- コスチューム2:弓(ゆみ)をひいたとき
![矢のスプライトのコスチューム2つ 矢のスプライトのコスチューム2つ](https://www.pyxofy.com/content/images/2022/08/15-08-scratch-programming-bow-and-arrow.png)
弓(ゆみ)のコスチュームにあわせて矢(や)の位置(いち)がかわるように、矢(や)の中心(ちゅうしん)をずらしてくださいね。
やをプログラミングする
矢(や)のプログラムのポイントは、矢(や)のうごきを3つにわけるところです。つぎの3種類(しゅるい)のうごき、「セット」「ねらう」「はなつ」を、メッセージでつなげていきますよ。
- セット:矢(や)を弓(ゆみ)にセットする
- ねらう:マウスをおしたままうごかして、ねらう
- はなつ:矢(や)をステージのはしまでうごかす
1. セット:やをゆみにセットする
はじめに、「セット」というメッセージをおくってからはじめます。メッセージをうけとったとき、矢(や)を弓(ゆみ)にセットしましょう。
① 弓(ゆみ)とおなじ位置(いち)にする
② 弓(ゆみ)とおなじむきにする
③ なにもしていないときのコスチュームにする
![弓に矢がセットされる 弓に矢がセットされる](https://www.pyxofy.com/content/images/2022/08/15-09-scratch-programming-bow-and-arrow.png)
マウスがおされるまでは、このままの状態(じょうたい)です。マウスがおされたら、「ねらう」というメッセージをおくって、弓(ゆみ)をひいた状態(じょうたい)にしますよ。
- マウスがおされたら、ねらう
![「マウスが押されたまで待つ」ブロックの下に「ねらうを送る」ブロックをつなげる 「マウスが押されたまで待つ」ブロックの下に「ねらうを送る」ブロックをつなげる](https://www.pyxofy.com/content/images/2022/08/15-10-scratch-programming-bow-and-arrow-2.png)
2. ねらう:マウスをおしたままうごかして、ねらう
「ねらう」をうけとったときに、マウスをおしたままうごかして、弓矢(ゆみや)のむきをかえられるようにしましょう。
① マウスからゆびをはなすまでくりかえす
② 弓(ゆみ)とおなじようにむきをかえる
③ 弓を(ゆみ)をひいたときの矢(や)のコスチュームにする
![弓を引いて狙う 弓を引いて狙う](https://www.pyxofy.com/content/images/2022/08/15-11-scratch-programming-bow-and-arrow.png)
マウスをおしているあいだは、マウスのほうへ弓矢(ゆみや)のむきがかわるようになりました。
![弓を引いた状態で向きを変えられる 弓を引いた状態で向きを変えられる](https://www.pyxofy.com/content/images/2022/08/15-12-scratch-programming-bow-and-arrow.png)
矢(や)をはなつタイミングは、マウスからゆびをはなしたときです。「はなつ」というメッセージをおくって、矢(や)をうごかしましょう。
- 「(はなつ)をおくる」をつなげる
![「ねらうを受け取ったとき」ブロックの一番下に「はなつを送る」ブロックをつなげる 「ねらうを受け取ったとき」ブロックの一番下に「はなつを送る」ブロックをつなげる](https://www.pyxofy.com/content/images/2022/08/15-13-scratch-programming-bow-and-arrow.png)
3. はなつ:やをステージのはしまでうごかす
「はなつ」をうけとったときに、矢(や)をステージのはしまでうごかします。「()ほうごかす」ブロックの数字(すうじ)によって、矢(や)のうごくはやさがきまりますよ。
- 矢(や)をはなって、ステージのはしまでうごかす
![矢をステージの端まで繰り返し動かす 矢をステージの端まで繰り返し動かす](https://www.pyxofy.com/content/images/2022/08/15-14-scratch-programming-bow-and-arrow.png)
ステージのはしまでうごいたら、矢(や)をふたたび弓(ゆみ)にセットしましょう。
- 「(セット)をおくる」をつなげる
![「はなつを受け取ったとき」ブロックの一番下に「セットを送る」ブロックをつなげる 「はなつを受け取ったとき」ブロックの一番下に「セットを送る」ブロックをつなげる](https://www.pyxofy.com/content/images/2022/08/15-15-scratch-programming-bow-and-arrow.png)
やのプログラムかんせい
矢(や)のプログラムも完成(かんせい)です。弓(ゆみ)をひいて矢(や)をはなてるようになりました!
![矢のプログラム 矢のプログラム](https://www.pyxofy.com/content/images/2022/08/15-16-scratch-programming-bow-and-arrow.png)
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
Pyxofy (著)「きょうからはじめるスクラッチプログラミング入門」
Pyxofy が Scratch の電子書籍を出版しました!Kindle・Apple Books からご購入ください。
まとめ
ここまで、弓矢(ゆみや)のプログラムを紹介(しょうかい)しました。
矢(や)のうごきを3つにわけてメッセージでつなげることで、矢(や)のうごきをわかりやすくプログラミングしました。弓矢(ゆみや)のゲームなどをつくるときに、参考(さんこう)にしてみてください。
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!