スクラッチプログラミング - ライフ(HP)のつくりかた
ゲームでつかえるライフ(HP)のプログラムを紹介(しょうかい)します。ハートのスプライトでライフを表示(ひょうじ)して、ダメージをうけたときに1ポイントずつへるようにプログラミングします。
更新日:2023年12月27日
ハートでライフをひょうじしよう
今回(こんかい)は、ハートで表示(ひょうじ)するライフのつくりかたを紹介(しょうかい)します。こちらのドッジボールゲームをつかって、説明(せつめい)していきますね。
![スクラッチで作ったドッジボールゲームのサンプル画像 スクラッチで作ったドッジボールゲームのサンプル画像](https://www.pyxofy.com/content/images/2022/12/25-01-scratch-programming-lives-counter.png)
ここでは、 変数(へんすう) と クローン をつかってプログラミングしていきます。変数(へんすう)やクローンをつかわずに、もっと簡単(かんたん)なプログラムでライフをつくりたいときは、コスチュームをつかって表示(ひょうじ)する方法(ほうほう)もありますよ。 こちら の記事(きじ)を参考(さんこう)にしてください。
クローンでつくるライフ
ハートのスプライトを用意(ようい)して、プレイヤーのライフをつくっていきましょう。ライフとしてステージに表示(ひょうじ)するのはハートのクローンなので、もとのスプライトはみえなくしておきます。最初(さいしょ)に表示(ひょうじ)する位置(いち)を、ステージの右下(みぎした)にしてください。
- プレイヤーのライフをかくして、座標(ざひょう)をきめておく
![表示する位置はステージの右下 表示する位置はステージの右下](https://www.pyxofy.com/content/images/2022/12/25-02-scratch-programming-lives-counter.png)
ライフの数(かず)は、変数(へんすう)できめますよ。「プレイヤーのライフ」という変数(へんすう)をつくって、ライフポイントを「10」にしてみましょう。
- 変数(へんすう)「プレイヤーのライフ」を「10」にする
![「プレイヤーのライフ」という名前の変数を作って、初期値を10にする 「プレイヤーのライフ」という名前の変数を作って、初期値を10にする](https://www.pyxofy.com/content/images/2022/12/25-03-scratch-programming-lives-counter.png)
クローンをつくろう
変数(へんすう)でライフの数(かず)を指定(してい)したら、その数(かず)とおなじだけクローンをつくります。x座標(ざひょう)をへらして位置(いち)をひだりへずらしながらクローンをつくって、表示(ひょうじ)しましょう。
- クローンを10こつくって、よこにならべて表示(ひょうじ)する
![クローンを作ってからx座標を減らすことを、変数と同じ回数繰り返す クローンを作ってからx座標を減らすことを、変数と同じ回数繰り返す](https://www.pyxofy.com/content/images/2022/12/25-04-scratch-programming-lives-counter.png)
プレイヤーのライフが、ステージの右下(みぎした)に10ポイント表示(ひょうじ)されるようになりました!
クローンをへらそう
ライフをへらす合図(あいず)になるのは、相手(あいて)のボールがプレイヤーにあたったときの、「プレイヤーにあたった」というメッセージです。ボールがあたったとき、表示(ひょうじ)されているライフをいったんすべて削除(さくじょ)しますよ。
- メッセージをうけとったとき、クローンを削除(さくじょ)する
![「プレイヤーに当たったを受け取ったとき」ブロックに「このクローンを削除する」ブロックをつなげる 「プレイヤーに当たったを受け取ったとき」ブロックに「このクローンを削除する」ブロックをつなげる](https://www.pyxofy.com/content/images/2022/12/25-05-scratch-programming-lives-counter.png)
クローンをすべて削除(さくじょ)してしまったら、ライフがゼロになってしまいますね。削除(さくじょ)するのと同時(どうじ)に、もういちどクローンをつくるようにメッセージをおくりましょう。今度(こんど)はライフの数(かず)を「1ポイント」へらしてからクローンをつくるようにしますよ。
- メッセージをおくって、そのメッセージをうけとったら変数(へんすう)を「1」へらす
![「プレイヤーのライフを減らす」を送って、メッセージを受け取ったら「プレイヤーのライフをマイナス1ずつ変える」 「プレイヤーのライフを減らす」を送って、メッセージを受け取ったら「プレイヤーのライフをマイナス1ずつ変える」](https://www.pyxofy.com/content/images/2022/12/25-06-scratch-programming-lives-counter.png)
メッセージをうけとって「プレイヤーのライフ」をへらしたあとに、「のこりライフが0ポイントの場合(ばあい)」と、「ライフがまだのこっている場合(ばあい)」で、実行(じっこう)する内容(ないよう)をわけていきます。
- 変数(へんすう)をへらしたあと、条件(じょうけん)をわける
![「もし〜なら、でなければ」ブロックをつなげる 「もし〜なら、でなければ」ブロックをつなげる](https://www.pyxofy.com/content/images/2022/12/25-07-scratch-programming-lives-counter.png)
のこりライフが0ポイントになっていたら、クローンはつくらず、ゲームをおわりにしましょう。
- もし変数(へんすう)が「0」なら、すべてをとめる
![残りライフが0のときの条件と実行内容 残りライフが0のときの条件と実行内容](https://www.pyxofy.com/content/images/2022/12/25-08-scratch-programming-lives-counter.png)
ライフがまだのこっているときは、ふたたびクローンをつくります。
- 変数(へんすう)とおなじ数(かず)だけクローンをつくる
![「でなければ」の間にクローンを作るブロックを追加する 「でなければ」の間にクローンを作るブロックを追加する](https://www.pyxofy.com/content/images/2022/12/25-09-scratch-programming-lives-counter.png)
相手(あいて)のボールがあたると、プレイヤーのライフが1ポイントずつへって表示(ひょうじ)されるようになりました!
![プレイヤーのライフのプログラム プレイヤーのライフのプログラム](https://www.pyxofy.com/content/images/2022/12/25-10-scratch-programming-lives-counter.png)
でもこのままだと、クローンがつくられるたびに、ハートがひとつずつ順番(じゅんばん)に表示(ひょうじ)される様子(ようす)がみえてしまいます。クローンをつくるときに、一気(いっき)にハートを表示(ひょうじ)できるようにしましょう。
クローンをいっきにひょうじしよう
ハートのクローンを一気(いっき)に表示(ひょうじ)できるようにします。そのためにつかうのが、 「ブロック定義(ていぎ)」です。
「ライフをつくる」という名前(なまえ)のブロックを、「画面(がめん)を再描画(さいびょうが)せずに実行(じっこう)する」にチェックをいれてつくってください。
- ブロックをつくる
![ブロック名を入力して「画面を再描画せずに実行する」をチェックする ブロック名を入力して「画面を再描画せずに実行する」をチェックする](https://www.pyxofy.com/content/images/2022/12/25-11-scratch-programming-lives-counter.png)
画面(がめん)を再描画(さいびょうが)せずに実行(じっこう)する理由(りゆう)は、クローンがひとつずつ順番(じゅんばん)につくられている様子(ようす)をみせないようにするためです。
クローンをつくるためのブロックを、ブロック定義(ていぎ)でまとめましょう。
- 「ライフをつくる」を定義(ていぎ)する
![定義「ライフを作る」の下にクローンを作るためのブロックをつなげる 定義「ライフを作る」の下にクローンを作るためのブロックをつなげる](https://www.pyxofy.com/content/images/2022/12/25-12-scratch-programming-lives-counter.png)
クローンをつくったとき、一気(いっき)に表示(ひょうじ)されるようになりました!
あいてのライフ
相手(あいて)のライフのプログラムも、プレイヤーのとほぼおなじです。ライフを表示(ひょうじ)する位置(いち)、変数(へんすう)、メッセージを指定(してい)しましょう。
- 座標(ざひょう):左上(ひだりうえ)、x座標(ざひょう)をふやす
- 変数(へんすう):「あいてのライフ」
- メッセージ:「あいてにあたった」、「あいてのライフをへらす」
これより下は、Pyxofyメンバー限定公開です。メンバーになると読むことができます。登録方法は、『メンバー登録・ログイン方法』をご覧ください。
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
「きょうからはじめるスクラッチプログラミング入門」Pyxofy (著)
Pyxofy が Scratch の基本をまとめた電子書籍を出版しました。
Kindle・Apple Books からご購入ください。