スクラッチプログラミング - ライフ(HP)のつくりかた

ゲームでつかえるライフ(HP)のプログラムを紹介(しょうかい)します。ハートのスプライトでライフを表示(ひょうじ)して、ダメージをうけたときに1ポイントずつへるようにプログラミングします。

スクラッチプログラミング - ライフ(HP)のつくりかた
Photo by Nick Fewings / Unsplash

更新日:2023年12月27日

ハートでライフをひょうじしよう

今回(こんかい)は、ハートで表示(ひょうじ)するライフのつくりかたを紹介(しょうかい)します。こちらのドッジボールゲームをつかって、説明(せつめい)していきますね。

スクラッチで作ったドッジボールゲームのサンプル画像
スクラッチで作ったドッジボールゲームのサンプル画像
スクラッチプログラミング - ドッジボールゲームのつくりかた - Part 1
ボールをあててあそぶドッジボールゲームをつくってみましょう。矢印(やじるし)キーでプレイヤーを操作(そうさ)して左右(さゆう)にうごかしながら、相手(あいて)にむかってボールをなげるプログラムをつくります。

ここでは、 変数(へんすう)クローン をつかってプログラミングしていきます。変数(へんすう)やクローンをつかわずに、もっと簡単(かんたん)なプログラムでライフをつくりたいときは、コスチュームをつかって表示(ひょうじ)する方法(ほうほう)もありますよ。 こちら の記事(きじ)を参考(さんこう)にしてください。

スクラッチプログラミング - ドッジボールゲームのつくりかた - Part 3
プレイヤーと対戦相手(たいせんあいて)にライフ(HP)を設定(せってい)して、ドッジボールゲームを完成(かんせい)させましょう。ボールにあたったらライフポイントをへらして、ライフがゼロになったらゲームをおわりにします。
・・・AD・・・

クローンでつくるライフ

ハートのスプライトを用意(ようい)して、プレイヤーのライフをつくっていきましょう。ライフとしてステージに表示(ひょうじ)するのはハートのクローンなので、もとのスプライトはみえなくしておきます。最初(さいしょ)に表示(ひょうじ)する位置(いち)を、ステージの右下(みぎした)にしてください。

  • プレイヤーのライフをかくして、座標(ざひょう)をきめておく
表示する位置はステージの右下
表示する位置はステージの右下

ライフの数(かず)は、変数(へんすう)できめますよ。「プレイヤーのライフ」という変数(へんすう)をつくって、ライフポイントを「10」にしてみましょう。

  • 変数(へんすう)「プレイヤーのライフ」を「10」にする
「プレイヤーのライフ」という名前の変数を作って、初期値を10にする
「プレイヤーのライフ」という名前の変数を作って、初期値を10にする

クローンをつくろう

変数(へんすう)でライフの数(かず)を指定(してい)したら、その数(かず)とおなじだけクローンをつくります。x座標(ざひょう)をへらして位置(いち)をひだりへずらしながらクローンをつくって、表示(ひょうじ)しましょう。

  • クローンを10こつくって、よこにならべて表示(ひょうじ)する
クローンを作ってからx座標を減らすことを、変数と同じ回数繰り返す
クローンを作ってからx座標を減らすことを、変数と同じ回数繰り返す

プレイヤーのライフが、ステージの右下(みぎした)に10ポイント表示(ひょうじ)されるようになりました!

クローンをへらそう

ライフをへらす合図(あいず)になるのは、相手(あいて)のボールがプレイヤーにあたったときの、「プレイヤーにあたった」というメッセージです。ボールがあたったとき、表示(ひょうじ)されているライフをいったんすべて削除(さくじょ)しますよ。

  • メッセージをうけとったとき、クローンを削除(さくじょ)する
「プレイヤーに当たったを受け取ったとき」ブロックに「このクローンを削除する」ブロックをつなげる
「プレイヤーに当たったを受け取ったとき」ブロックに「このクローンを削除する」ブロックをつなげる

クローンをすべて削除(さくじょ)してしまったら、ライフがゼロになってしまいますね。削除(さくじょ)するのと同時(どうじ)に、もういちどクローンをつくるようにメッセージをおくりましょう。今度(こんど)はライフの数(かず)を「1ポイント」へらしてからクローンをつくるようにしますよ。

  • メッセージをおくって、そのメッセージをうけとったら変数(へんすう)を「1」へらす
「プレイヤーのライフを減らす」を送って、メッセージを受け取ったら「プレイヤーのライフをマイナス1ずつ変える」
「プレイヤーのライフを減らす」を送って、メッセージを受け取ったら「プレイヤーのライフをマイナス1ずつ変える」

メッセージをうけとって「プレイヤーのライフ」をへらしたあとに、「のこりライフが0ポイントの場合(ばあい)」と、「ライフがまだのこっている場合(ばあい)」で、実行(じっこう)する内容(ないよう)をわけていきます。

  • 変数(へんすう)をへらしたあと、条件(じょうけん)をわける
「もし〜なら、でなければ」ブロックをつなげる
「もし〜なら、でなければ」ブロックをつなげる

のこりライフが0ポイントになっていたら、クローンはつくらず、ゲームをおわりにしましょう。

  • もし変数(へんすう)が「0」なら、すべてをとめる
残りライフが0のときの条件と実行内容
残りライフが0のときの条件と実行内容

ライフがまだのこっているときは、ふたたびクローンをつくります。

  • 変数(へんすう)とおなじ数(かず)だけクローンをつくる
「でなければ」の間にクローンを作るブロックを追加する
「でなければ」の間にクローンを作るブロックを追加する

相手(あいて)のボールがあたると、プレイヤーのライフが1ポイントずつへって表示(ひょうじ)されるようになりました!

プレイヤーのライフのプログラム
プレイヤーのライフのプログラム

でもこのままだと、クローンがつくられるたびに、ハートがひとつずつ順番(じゅんばん)に表示(ひょうじ)される様子(ようす)がみえてしまいます。クローンをつくるときに、一気(いっき)にハートを表示(ひょうじ)できるようにしましょう。

クローンをいっきにひょうじしよう

ハートのクローンを一気(いっき)に表示(ひょうじ)できるようにします。そのためにつかうのが、 「ブロック定義(ていぎ)」です。

「ライフをつくる」という名前(なまえ)のブロックを、「画面(がめん)を再描画(さいびょうが)せずに実行(じっこう)する」にチェックをいれてつくってください。

  • ブロックをつくる
ブロック名を入力して「画面を再描画せずに実行する」をチェックする
ブロック名を入力して「画面を再描画せずに実行する」をチェックする

画面(がめん)を再描画(さいびょうが)せずに実行(じっこう)する理由(りゆう)は、クローンがひとつずつ順番(じゅんばん)につくられている様子(ようす)をみせないようにするためです。

クローンをつくるためのブロックを、ブロック定義(ていぎ)でまとめましょう。

  • 「ライフをつくる」を定義(ていぎ)する
定義「ライフを作る」の下にクローンを作るためのブロックをつなげる
定義「ライフを作る」の下にクローンを作るためのブロックをつなげる

クローンをつくったとき、一気(いっき)に表示(ひょうじ)されるようになりました!

あいてのライフ

相手(あいて)のライフのプログラムも、プレイヤーのとほぼおなじです。ライフを表示(ひょうじ)する位置(いち)、変数(へんすう)、メッセージを指定(してい)しましょう。

  • 座標(ざひょう):左上(ひだりうえ)、x座標(ざひょう)をふやす
  • 変数(へんすう):「あいてのライフ」
  • メッセージ:「あいてにあたった」、「あいてのライフをへらす」
・・・AD・・・

これより下は、Pyxofyメンバー限定公開です。メンバーになると読むことができます。登録方法は、『メンバー登録・ログイン方法』をご覧ください。