スクラッチプログラミング - ゆみやのつくりかた

弓(ゆみ)をひいて矢(や)をはなつ、弓矢(ゆみや)のうごきをプログラミングしましょう。マインクラフトのキャラで弓矢(ゆみや)をつかった簡単(かんたん)なゲームをつくったので、あそんでみてください。

スクラッチプログラミング - ゆみやのつくりかた
Photo by Alex Guillaume / Unsplash

更新日:2023年12月27日

📖
Pyxofy (著) 電子書籍「きょうからはじめるスクラッチプログラミング入門」を出版しました! ぜひこちらから詳細をご覧ください。

サンプルさくひんであそんでみよう

今回(こんかい)は、弓矢(ゆみや)のプログラムのつくりかたを紹介(しょうかい)します。弓矢(ゆみや)のうごきを、あそびながらためしてみてください。

ゲームのあそびかた

  • でてくるキャラたちを弓矢(ゆみや)でたおす
  • キャラはたおされても復活(ふっかつ)する
  • キャラが復活(ふっかつ)するまえに、みんなたおしたらゲームクリア

ゆみやのうごかしかた

  • クリック(タップ)で矢(や)をはなつ
  • マウスをおしたままうごかすと、弓矢(ゆみや)のむきをかえてねらうことができる

(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)

このきじをよむとわかること

  • 弓(ゆみ)のむきをかえる方法(ほうほう)
  • 矢(や)をはなつ方法(ほうほう)

ゆみのスプライトをよういする

ではこれから、弓矢(ゆみや)のプログラムをつくっていきましょう。最初(さいしょ)に、弓(ゆみ)のスプライトを用意(ようい)します。弓(ゆみ)のスプライトは、コスチュームを2つつくってください。

  • コスチューム1:なにもしていない状態(じょうたい)
  • コスチューム2:弓(ゆみ)をひいた状態(じょうたい)
弓のスプライトのコスチューム2つ
弓のスプライトのコスチューム2つ

コスチュームをつくるときは、2つのコスチュームの中心(ちゅうしん)をあわせてくださいね。

ゆみをプログラミングする

弓(ゆみ)のプログラムのポイントは、つぎの2つです。

  1. コスチュームをきりかえる
  2. むきがかわるようにする

今回(こんかい)は、うえのほうへ矢(や)をはなつようにしたいので、弓(ゆみ)のむきをうえへむけてからはじめます。

  • 弓(ゆみ)のむきをうえにする
「旗が押されたとき」ブロックの下に「0度に向ける」ブロックをつなげる
「旗が押されたとき」ブロックの下に「0度に向ける」ブロックをつなげる

1. コスチュームをきりかえる

まずは、弓(ゆみ)のコスチュームがきりかわるようにプログラミングしていきましょう。コスチュームは、画面(がめん)がクリックされたときにかわるようにしますよ。クリックされたかどうかを確認(かくにん)するためにつかうのは、「マウスがおされた」ブロックです。

  • もしマウスがおされたなら、「コスチューム2」にする
  • なにもしていないときは、「コスチューム1」にする
コスチュームを替える条件
コスチュームを替える条件

画面(がめん)をクリックしたときと、なにもしていないときとで、コスチュームがかわるようになりました。

2. むきがかわるようにする

つぎに、弓(ゆみ)のむきがかわるようにプログラミングしましょう。むきは、クリックした場所(ばしょ)によってかわるようにします。

  • 「マウスのポインターへむける」を追加(ついか)する
「もしマウスが押されたなら」ブロックの間に「マウスのポインターへ向ける」ブロックを追加する
「もしマウスが押されたなら」ブロックの間に「マウスのポインターへ向ける」ブロックを追加する

クリックしたほうへ弓(ゆみ)のむきがかわるようになりました。画面(がめん)のしたのほうをクリックすると、弓(ゆみ)もしたをむきます。

でも今回(こんかい)は、うえへむけて矢(や)をはなつようにするんでしたね。弓(ゆみ)がしたをむかないようにするために、むきがかわる範囲(はんい)を制限(せいげん)しましょう。ここでは、「-45ど」から「45ど」までの範囲(はんい)でむきをかえられるようにします。

向き「-45度」から「45度」の範囲
向き「-45度」から「45度」の範囲

弓(ゆみ)の右側(みぎがわ)をクリックしたときに、「45ど」よりしたの位置(いち)だったら、それよりしたへむかないようにします。弓(ゆみ)の左側(ひだりがわ)をクリックしたときも、おなじようにしましょう。

  • むきがかわる範囲(はんい)を制限(せいげん)する
「もしマウスが押されたなら」ブロックの間に向きを制限するブロックを追加する
「もしマウスが押されたなら」ブロックの間に向きを制限するブロックを追加する

ゆみのプログラムかんせい

弓(ゆみ)のしたのほうをクリックしても、したをむかなくなりました。弓(ゆみ)のプログラムはこれで完成(かんせい)です!

弓のプログラム
弓のプログラム

ではつぎに、矢(や)をプログラミングしていきましょう!

やのスプライトをよういする

矢(や)のスプライトも、コスチュームを2つ用意(ようい)します。

  • コスチューム1:なにもしていないとき
  • コスチューム2:弓(ゆみ)をひいたとき
矢のスプライトのコスチューム2つ
矢のスプライトのコスチューム2つ

弓(ゆみ)のコスチュームにあわせて矢(や)の位置(いち)がかわるように、矢(や)の中心(ちゅうしん)をずらしてくださいね。

やをプログラミングする

矢(や)のプログラムのポイントは、矢(や)のうごきを3つにわけるところです。つぎの3種類(しゅるい)のうごき、「セット」「ねらう」「はなつ」を、メッセージでつなげていきますよ。

  1. セット:矢(や)を弓(ゆみ)にセットする
  2. ねらう:マウスをおしたままうごかして、ねらう
  3. はなつ:矢(や)をステージのはしまでうごかす

1. セット:やをゆみにセットする

はじめに、「セット」というメッセージをおくってからはじめます。メッセージをうけとったとき、矢(や)を弓(ゆみ)にセットしましょう。

① 弓(ゆみ)とおなじ位置(いち)にする
② 弓(ゆみ)とおなじむきにする
③ なにもしていないときのコスチュームにする

弓に矢がセットされる
弓に矢がセットされる

マウスがおされるまでは、このままの状態(じょうたい)です。マウスがおされたら、「ねらう」というメッセージをおくって、弓(ゆみ)をひいた状態(じょうたい)にしますよ。

  • マウスがおされたら、ねらう
「マウスが押されたまで待つ」ブロックの下に「ねらうを送る」ブロックをつなげる
「マウスが押されたまで待つ」ブロックの下に「ねらうを送る」ブロックをつなげる

2. ねらう:マウスをおしたままうごかして、ねらう

「ねらう」をうけとったときに、マウスをおしたままうごかして、弓矢(ゆみや)のむきをかえられるようにしましょう。

① マウスからゆびをはなすまでくりかえす
② 弓(ゆみ)とおなじようにむきをかえる
③ 弓を(ゆみ)をひいたときの矢(や)のコスチュームにする

弓を引いて狙う
弓を引いて狙う

マウスをおしているあいだは、マウスのほうへ弓矢(ゆみや)のむきがかわるようになりました。

弓を引いた状態で向きを変えられる
弓を引いた状態で向きを変えられる

矢(や)をはなつタイミングは、マウスからゆびをはなしたときです。「はなつ」というメッセージをおくって、矢(や)をうごかしましょう。

  • 「(はなつ)をおくる」をつなげる
「ねらうを受け取ったとき」ブロックの一番下に「はなつを送る」ブロックをつなげる
「ねらうを受け取ったとき」ブロックの一番下に「はなつを送る」ブロックをつなげる

3. はなつ:やをステージのはしまでうごかす

「はなつ」をうけとったときに、矢(や)をステージのはしまでうごかします。「()ほうごかす」ブロックの数字(すうじ)によって、矢(や)のうごくはやさがきまりますよ。

  • 矢(や)をはなって、ステージのはしまでうごかす
矢をステージの端まで繰り返し動かす
矢をステージの端まで繰り返し動かす

ステージのはしまでうごいたら、矢(や)をふたたび弓(ゆみ)にセットしましょう。

  • 「(セット)をおくる」をつなげる
「はなつを受け取ったとき」ブロックの一番下に「セットを送る」ブロックをつなげる
「はなつを受け取ったとき」ブロックの一番下に「セットを送る」ブロックをつなげる

やのプログラムかんせい

矢(や)のプログラムも完成(かんせい)です。弓(ゆみ)をひいて矢(や)をはなてるようになりました!

矢のプログラム
矢のプログラム

Pyxofy (著)「きょうからはじめるスクラッチプログラミング入門」

Pyxofy が Scratch の電子書籍を出版しました!Kindle・Apple Books からご購入ください。

詳細はこちら

まとめ

ここまで、弓矢(ゆみや)のプログラムを紹介(しょうかい)しました。

矢(や)のうごきを3つにわけてメッセージでつなげることで、矢(や)のうごきをわかりやすくプログラミングしました。弓矢(ゆみや)のゲームなどをつくるときに、参考(さんこう)にしてみてください。

最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!

かんれんきじ

スクラッチプログラミング - タブレットでもあそべる!タッチスクリーンそうさ
キーボードをつかわなくてもスプライトを操作(そうさ)できるプログラムのつくりかたを紹介(しょうかい)します。画面(がめん)をゆびでさわることで、タブレットでもゲームをたのしむことができるようになりますよ。
スクラッチプログラミング - ペイントエディターのつかいかた
えをかくことはすきですか?「こんなスプライトがあったらいいのに!」と、おもうことはありませんか?ペイントエディターのつかいかたをしって、スプライトやはいけいをえがけるようになりましょう。
Start Here - Scratch (スクラッチ)
Scratch (スクラッチ)記事(きじ)のレベル別一覧です。初級、中級、上級、拡張機能にわけてまとめました。