Scratch ひっぱりハンティング

モンスト風ゲームを作ろう!

レベル ★★☆
!

どんなゲーム?

ボールを 引っぱって離す と、ボールが飛んでいくよ。壁で跳ね返りながら 敵にぶつけよう!

ゲーム画面イメージ
スコア 200
ライフ 3
🦀
🦕
🐉
🖱️
モンストみたいに引っぱって発射! 壁で跳ね返りながら敵を倒すよ。

これから、このゲームを ステップバイステップ で作っていこう!

1

ボールを置こう

スプライトライブラリから 「Ball」 を探して追加しよう。名前を 「ボール」 に変えてね。

Scratch エディタ画面(右下)
ボール
🐱
Ballを追加して名前を「ボール」に →
ボール
ボールのプログラムを作るよ
@greenFlag が押されたとき
[スコア v] を [0] にする
[ライフ v] を [5] にする
[ドラッグ中 v] を [0] にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
x座標を (0) 、y座標を (-120) にする
大きさを (60) %にする
表示する
      
🎮 テスト: 旗を押してみよう。ボールが画面の下のほうに表示されたかな?
変数はあとで使うよ。先にまとめて作っておこう! 「変数を作る」から「スコア」「ライフ」「ドラッグ中」「スピードX」「スピードY」「開始X」「開始Y」「てき1HP」「てき2HP」「てき3HP」を全部作ってね(すべてのスプライト用)。

ボールの完成プログラム(この時点):

@greenFlag が押されたとき
[スコア v] を [0] にする
[ライフ v] を [5] にする
[ドラッグ中 v] を [0] にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
x座標を (0) 、y座標を (-120) にする
大きさを (60) %にする
表示する
      
2

背景を選ぼう

ステージをクリックして、背景ライブラリから 「Neon Tunnel」 などカッコいい背景を選ぼう。

Neon Tunnel
暗い背景だとゲームの雰囲気が出るよ。好きな背景でOK!
3

てき1を置こう

スプライトライブラリから 「Crab」 を探して追加しよう。名前を 「てき1」 に変えてね。

Scratch エディタ画面(右下)
ボール
🦀 てき1
🐱
Crabを追加 →
🦀
てき1
てき1のプログラムを作るよ
@greenFlag が押されたとき
[てき1HP v] を [3] にする
画像効果をなくす
x座標を (-100) 、y座標を (80) にする
大きさを (70) %にする
表示する
      
🎮 テスト: 旗を押してみよう。ボールが下、てき1が左上に表示されたかな?
てき1HPは体力だよ。3回当てたら倒せる!

てき1の完成プログラム(この時点):

@greenFlag が押されたとき
[てき1HP v] を [3] にする
画像効果をなくす
x座標を (-100) 、y座標を (80) にする
大きさを (70) %にする
表示する
      
4

ボールを引っぱろう

ゲーム画面イメージ
🖱️
🦀
ボール
ボールのプログラムに追加するよ

ボールをクリックしたら ドラッグ開始。マウスについてくるようにしよう。

スクリプト2: ドラッグ開始

このスプライトが押されたとき
もし <(ライフ) > [0]> なら
  [開始X v] を (x座標) にする
  [開始Y v] を (y座標) にする
  [ドラッグ中 v] を [1] にする
end
      

スクリプト3: ドラッグ中の追従

@greenFlag が押されたとき
ずっと
  もし <(ドラッグ中) = [1]> なら
    もし <(マウスのy座標) < [-40]> なら
      x座標を (マウスのx座標) 、y座標を (マウスのy座標) にする
    でなければ
      x座標を (マウスのx座標) 、y座標を (-40) にする
    end
  end
end
      
🎮 テスト: 旗を押してからボールをクリックして引っぱってみよう。マウスについてくるかな?
y座標が -40 より上に行かないようにしているよ。下のエリアだけで引っぱれるんだ。

ボールの完成プログラム(この時点):

スクリプト1(初期設定):

@greenFlag が押されたとき
[スコア v] を [0] にする
[ライフ v] を [5] にする
[ドラッグ中 v] を [0] にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
x座標を (0) 、y座標を (-120) にする
大きさを (60) %にする
表示する
      

スクリプト2(ドラッグ開始):

このスプライトが押されたとき
もし <(ライフ) > [0]> なら
  [開始X v] を (x座標) にする
  [開始Y v] を (y座標) にする
  [ドラッグ中 v] を [1] にする
end
      

スクリプト3(ドラッグ中の追従):

@greenFlag が押されたとき
ずっと
  もし <(ドラッグ中) = [1]> なら
    もし <(マウスのy座標) < [-40]> なら
      x座標を (マウスのx座標) 、y座標を (マウスのy座標) にする
    でなければ
      x座標を (マウスのx座標) 、y座標を (-40) にする
    end
  end
end
      
5

ボールを発射しよう

ボール
ボールのプログラムに追加するよ

マウスを離したら、引っぱった 反対方向 にボールを飛ばそう!

スクリプト4: マウスを離したら発射

@greenFlag が押されたとき
ずっと
  もし <<(ドラッグ中) = [1]> かつ <<マウスが押された> ではない>> なら
    [スピードX v] を (((開始X) - (マウスのx座標)) * (0.2)) にする
    [スピードY v] を (((開始Y) - (マウスのy座標)) * (0.2)) にする
    [ドラッグ中 v] を [0] にする
    [ライフ v] を (-1) ずつ変える
    [発射 v] を送る
  end
end
      
🎮 テスト: ボールを引っぱって離してみよう! まだ飛ばないけど、ライフが減ればOK。
引っぱった方向と 反対 に飛ぶのがポイント! モンストと同じしくみだね。「開始X - マウスのx座標」で反対方向のスピードを計算しているよ。

ボールの完成プログラム(この時点):

スクリプト1(初期設定):

@greenFlag が押されたとき
[スコア v] を [0] にする
[ライフ v] を [5] にする
[ドラッグ中 v] を [0] にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
x座標を (0) 、y座標を (-120) にする
大きさを (60) %にする
表示する
      

スクリプト2(ドラッグ開始):

このスプライトが押されたとき
もし <(ライフ) > [0]> なら
  [開始X v] を (x座標) にする
  [開始Y v] を (y座標) にする
  [ドラッグ中 v] を [1] にする
end
      

スクリプト3(ドラッグ中の追従):

@greenFlag が押されたとき
ずっと
  もし <(ドラッグ中) = [1]> なら
    もし <(マウスのy座標) < [-40]> なら
      x座標を (マウスのx座標) 、y座標を (マウスのy座標) にする
    でなければ
      x座標を (マウスのx座標) 、y座標を (-40) にする
    end
  end
end
      

スクリプト4(発射):

@greenFlag が押されたとき
ずっと
  もし <<(ドラッグ中) = [1]> かつ <<マウスが押された> ではない>> なら
    [スピードX v] を (((開始X) - (マウスのx座標)) * (0.2)) にする
    [スピードY v] を (((開始Y) - (マウスのy座標)) * (0.2)) にする
    [ドラッグ中 v] を [0] にする
    [ライフ v] を (-1) ずつ変える
    [発射 v] を送る
  end
end
      
6

ボールを動かそう(基本移動)

ボール
ボールのプログラムに追加するよ

「発射」メッセージを受け取ったら、ボールがスピードに合わせて動くようにしよう。だんだん遅くなって止まるよ。

スクリプト5: 発射後の移動(基本)

[発射 v] を受け取ったとき
<(((スピードX) の [絶対値 v]) + ((スピードY) の [絶対値 v])) < [0.5]> まで繰り返す
  x座標を (スピードX) ずつ変える
  y座標を (スピードY) ずつ変える
  [スピードX v] を ((スピードX) * (0.99)) にする
  [スピードY v] を ((スピードY) * (0.99)) にする
end
x座標を (0) 、y座標を (-120) にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
      
🎮 テスト: 引っぱって離したらボールが飛んで、だんだん遅くなって止まるか確認しよう! 止まったら元の位置にもどるよ。
0.99 をかけると毎フレーム少しずつ遅くなる。これが「摩擦」の効果だよ。

ボールの完成プログラム(この時点):

スクリプト1(初期設定):

@greenFlag が押されたとき
[スコア v] を [0] にする
[ライフ v] を [5] にする
[ドラッグ中 v] を [0] にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
x座標を (0) 、y座標を (-120) にする
大きさを (60) %にする
表示する
      

スクリプト2(ドラッグ開始):

このスプライトが押されたとき
もし <(ライフ) > [0]> なら
  [開始X v] を (x座標) にする
  [開始Y v] を (y座標) にする
  [ドラッグ中 v] を [1] にする
end
      

スクリプト3(ドラッグ中の追従):

@greenFlag が押されたとき
ずっと
  もし <(ドラッグ中) = [1]> なら
    もし <(マウスのy座標) < [-40]> なら
      x座標を (マウスのx座標) 、y座標を (マウスのy座標) にする
    でなければ
      x座標を (マウスのx座標) 、y座標を (-40) にする
    end
  end
end
      

スクリプト4(発射):

@greenFlag が押されたとき
ずっと
  もし <<(ドラッグ中) = [1]> かつ <<マウスが押された> ではない>> なら
    [スピードX v] を (((開始X) - (マウスのx座標)) * (0.2)) にする
    [スピードY v] を (((開始Y) - (マウスのy座標)) * (0.2)) にする
    [ドラッグ中 v] を [0] にする
    [ライフ v] を (-1) ずつ変える
    [発射 v] を送る
  end
end
      

スクリプト5(移動 - 基本):

[発射 v] を受け取ったとき
<(((スピードX) の [絶対値 v]) + ((スピードY) の [絶対値 v])) < [0.5]> まで繰り返す
  x座標を (スピードX) ずつ変える
  y座標を (スピードY) ずつ変える
  [スピードX v] を ((スピードX) * (0.99)) にする
  [スピードY v] を ((スピードY) * (0.99)) にする
end
x座標を (0) 、y座標を (-120) にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
      
7

壁で跳ね返そう

ゲーム画面イメージ
🦀
x:220
x:-220
y:160
y:-160
ボール
ボールのプログラムを変えるよ

スクリプト5の移動ループの中に、壁反射 を追加しよう。

追加するのはこの部分(移動ループの中に入れるよ):

  もし <(x座標) > [220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (220) にする
  end
  もし <(x座標) < [-220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (-220) にする
  end
  もし <(y座標) > [160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (160) にする
  end
  もし <(y座標) < [-160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (-160) にする
  end
      
🎮 テスト: ボールを壁にぶつけてみよう。跳ね返るかな?
スピードに -1 をかけると向きが反対になるよ! これが跳ね返りの仕組み。

ボールのスクリプト5 完成プログラム(この時点):

[発射 v] を受け取ったとき
<(((スピードX) の [絶対値 v]) + ((スピードY) の [絶対値 v])) < [0.5]> まで繰り返す
  x座標を (スピードX) ずつ変える
  y座標を (スピードY) ずつ変える
  もし <(x座標) > [220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (220) にする
  end
  もし <(x座標) < [-220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (-220) にする
  end
  もし <(y座標) > [160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (160) にする
  end
  もし <(y座標) < [-160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (-160) にする
  end
  [スピードX v] を ((スピードX) * (0.99)) にする
  [スピードY v] を ((スピードY) * (0.99)) にする
end
x座標を (0) 、y座標を (-120) にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
      
8

てきに当てよう

ゲーム画面イメージ
🦀
💥

まずは てき1 だけ当たり判定をつけよう。

ボール
ボールのプログラムを変えるよ

スクリプト5の移動ループの中に追加しよう:

  もし <[てき1 v] に触れた> なら
    [てき1ヒット v] を送る
  end
      
🦀
てき1
てき1のプログラムに追加するよ

てき1のスクリプト2: ヒット処理

[てき1ヒット v] を受け取ったとき
[てき1HP v] を (-1) ずつ変える
[色 v] の効果を (25) ずつ変える
もし <(てき1HP) < [1]> なら
  [スコア v] を (100) ずつ変える
  隠す
end
      
🎮 テスト: てき1にボールを当てたら色が変わるかな? 3回当てたら消えるか確認しよう!
当たるたびに色が変わるから、あと何回で倒せるかわかるよ。

ボールのスクリプト5 完成プログラム(この時点):

[発射 v] を受け取ったとき
<(((スピードX) の [絶対値 v]) + ((スピードY) の [絶対値 v])) < [0.5]> まで繰り返す
  x座標を (スピードX) ずつ変える
  y座標を (スピードY) ずつ変える
  もし <(x座標) > [220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (220) にする
  end
  もし <(x座標) < [-220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (-220) にする
  end
  もし <(y座標) > [160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (160) にする
  end
  もし <(y座標) < [-160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (-160) にする
  end
  [スピードX v] を ((スピードX) * (0.99)) にする
  [スピードY v] を ((スピードY) * (0.99)) にする
  もし <[てき1 v] に触れた> なら
    [てき1ヒット v] を送る
  end
end
x座標を (0) 、y座標を (-120) にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
      

てき1の完成プログラム(この時点):

スクリプト1(初期設定):

@greenFlag が押されたとき
[てき1HP v] を [3] にする
画像効果をなくす
x座標を (-100) 、y座標を (80) にする
大きさを (70) %にする
表示する
      

スクリプト2(ヒット処理):

[てき1ヒット v] を受け取ったとき
[てき1HP v] を (-1) ずつ変える
[色 v] の効果を (25) ずつ変える
もし <(てき1HP) < [1]> なら
  [スコア v] を (100) ずつ変える
  隠す
end
      
9

スコアとライフを確認しよう

ゲーム画面イメージ
スコア 100
ライフ 3
🦀

ここまでのプログラムで、スコアライフ はもう動いているよ!

変数の表示設定を確認しよう。ステージの左上に 「スコア」「ライフ」 が表示されていればOK!

表示しない変数(スピードX、スピードY、ドラッグ中、開始X、開始Y、てき1HP など)は、変数パレットのチェックを 外そう

ステージに見せたい変数だけ表示して、見やすくしよう。ゲーム中に見えなくていい変数はチェックを外すよ。
10

てき2・てき3を追加しよう

ゲーム画面イメージ
スコア 0
ライフ 5
🦀
🦕
🐉

敵を増やそう! スプライトライブラリから追加してね。

🦕
てき2
てき2のプログラムを作るよ

てき2のスクリプト1: 初期設定

@greenFlag が押されたとき
[てき2HP v] を [3] にする
画像効果をなくす
x座標を (100) 、y座標を (80) にする
大きさを (70) %にする
表示する
      

てき2のスクリプト2: ヒット処理

[てき2ヒット v] を受け取ったとき
[てき2HP v] を (-1) ずつ変える
[色 v] の効果を (25) ずつ変える
もし <(てき2HP) < [1]> なら
  [スコア v] を (100) ずつ変える
  隠す
end
      
🐉
てき3
てき3のプログラムを作るよ

てき3のスクリプト1: 初期設定

@greenFlag が押されたとき
[てき3HP v] を [5] にする
画像効果をなくす
x座標を (0) 、y座標を (100) にする
大きさを (100) %にする
表示する
      

てき3のスクリプト2: ヒット処理

[てき3ヒット v] を受け取ったとき
[てき3HP v] を (-1) ずつ変える
[色 v] の効果を (25) ずつ変える
大きさを ((70) + ((てき3HP) * (6))) %にする
もし <(てき3HP) < [1]> なら
  [スコア v] を (300) ずつ変える
  隠す
end
      

次に、ボール のスクリプト5にてき2・てき3の当たり判定を追加しよう。

ボール
ボールのプログラムを変えるよ

移動ループの中に追加:

  もし <[てき2 v] に触れた> なら
    [てき2ヒット v] を送る
  end
  もし <[てき3 v] に触れた> なら
    [てき3ヒット v] を送る
  end
      
🎮 テスト: 3匹の敵がステージに表示されるか確認しよう! ボールを当てて倒せるかな?
てき3はボス! HP5で倒すと 300点! 当てるたびに小さくなるのがカッコいい。

ボールのスクリプト5 完成プログラム(この時点):

[発射 v] を受け取ったとき
<(((スピードX) の [絶対値 v]) + ((スピードY) の [絶対値 v])) < [0.5]> まで繰り返す
  x座標を (スピードX) ずつ変える
  y座標を (スピードY) ずつ変える
  もし <(x座標) > [220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (220) にする
  end
  もし <(x座標) < [-220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (-220) にする
  end
  もし <(y座標) > [160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (160) にする
  end
  もし <(y座標) < [-160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (-160) にする
  end
  [スピードX v] を ((スピードX) * (0.99)) にする
  [スピードY v] を ((スピードY) * (0.99)) にする
  もし <[てき1 v] に触れた> なら
    [てき1ヒット v] を送る
  end
  もし <[てき2 v] に触れた> なら
    [てき2ヒット v] を送る
  end
  もし <[てき3 v] に触れた> なら
    [てき3ヒット v] を送る
  end
end
x座標を (0) 、y座標を (-120) にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
      

てき2の完成プログラム:

スクリプト1(初期設定):

@greenFlag が押されたとき
[てき2HP v] を [3] にする
画像効果をなくす
x座標を (100) 、y座標を (80) にする
大きさを (70) %にする
表示する
      

スクリプト2(ヒット処理):

[てき2ヒット v] を受け取ったとき
[てき2HP v] を (-1) ずつ変える
[色 v] の効果を (25) ずつ変える
もし <(てき2HP) < [1]> なら
  [スコア v] を (100) ずつ変える
  隠す
end
      

てき3の完成プログラム:

スクリプト1(初期設定):

@greenFlag が押されたとき
[てき3HP v] を [5] にする
画像効果をなくす
x座標を (0) 、y座標を (100) にする
大きさを (100) %にする
表示する
      

スクリプト2(ヒット処理):

[てき3ヒット v] を受け取ったとき
[てき3HP v] を (-1) ずつ変える
[色 v] の効果を (25) ずつ変える
大きさを ((70) + ((てき3HP) * (6))) %にする
もし <(てき3HP) < [1]> なら
  [スコア v] を (300) ずつ変える
  隠す
end
      
11

やじるしで狙いを見せよう

ゲーム画面イメージ
🖱️
🦀
🦕
🐉

引っぱっているとき、発射方向に矢印 を表示しよう。狙いやすくなるよ!

新しいスプライトを「描く」で作ろう。上向きの矢印(↑)を描いて、名前を 「やじるし」 にしてね。矢印の下端をコスチュームの中心に合わせよう。

やじるし
やじるしのプログラムを作るよ
@greenFlag が押されたとき
隠す
ずっと
  もし <(ドラッグ中) = [1]> なら
    [ボール v] へ行く
    x座標を (((開始X) - (マウスのx座標)) * (0.5)) ずつ変える
    y座標を (((開始Y) - (マウスのy座標)) * (0.5)) ずつ変える
    表示する
  でなければ
    隠す
  end
end
      
🎮 テスト: ボールを引っぱったとき、発射方向に矢印が出るか確認しよう!
矢印はボールの位置から「引っぱった反対方向」に出るよ。どこに飛ぶかわかりやすくなったね!

やじるしの完成プログラム:

@greenFlag が押されたとき
隠す
ずっと
  もし <(ドラッグ中) = [1]> なら
    [ボール v] へ行く
    x座標を (((開始X) - (マウスのx座標)) * (0.5)) ずつ変える
    y座標を (((開始Y) - (マウスのy座標)) * (0.5)) ずつ変える
    表示する
  でなければ
    隠す
  end
end
      
12

クリアとゲームオーバー

全部の敵を倒したら ゲームクリア! ライフが0なのに敵が残っていたら ゲームオーバー にしよう。

ボール
ボールのプログラムを変えるよ

スクリプト5の ループの後ろ(元の位置にもどる処理の後) に追加しよう:

もし <<(てき1HP) < [1]> かつ <<(てき2HP) < [1]> かつ <(てき3HP) < [1]>>> なら
  [ゲームクリア v] を送る
end
もし <<(ライフ) < [1]> かつ <<(てき1HP) > [0]> または <<(てき2HP) > [0]> または <(てき3HP) > [0]>>>> なら
  [ゲームオーバー v] を送る
end
      

ボールのスクリプト6: ゲームクリア時

[ゲームクリア v] を受け取ったとき
[ゲームクリア! v] と (2) 秒言う
すべてを止める
      

ボールのスクリプト7: ゲームオーバー時

[ゲームオーバー v] を受け取ったとき
[ゲームオーバー... v] と (2) 秒言う
すべてを止める
      

最後に、ステージ(背景) にもスクリプトを追加しよう。背景を3つ用意してね(ゲームステージ、クリア、ゲームオーバー)。

🎭
ステージ
ステージのプログラムを作るよ

ステージのスクリプト1: 初期化

@greenFlag が押されたとき
背景を [ゲームステージ v] にする
      

ステージのスクリプト2: ゲームクリア

[ゲームクリア v] を受け取ったとき
背景を [クリア v] にする
      

ステージのスクリプト3: ゲームオーバー

[ゲームオーバー v] を受け取ったとき
背景を [ゲームオーバー v] にする
      
🎮 テスト: 全部の敵を倒してクリアできるか挑戦しよう! ライフが0になったらゲームオーバーになるかも確認してね。
背景は自分で描いてもOK。「クリア」には「おめでとう!」、「ゲームオーバー」には「ざんねん...」などを書こう。

ボールのスクリプト5 最終完成プログラム:

[発射 v] を受け取ったとき
<(((スピードX) の [絶対値 v]) + ((スピードY) の [絶対値 v])) < [0.5]> まで繰り返す
  x座標を (スピードX) ずつ変える
  y座標を (スピードY) ずつ変える
  もし <(x座標) > [220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (220) にする
  end
  もし <(x座標) < [-220]> なら
    [スピードX v] を ((スピードX) * (-1)) にする
    x座標を (-220) にする
  end
  もし <(y座標) > [160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (160) にする
  end
  もし <(y座標) < [-160]> なら
    [スピードY v] を ((スピードY) * (-1)) にする
    y座標を (-160) にする
  end
  [スピードX v] を ((スピードX) * (0.99)) にする
  [スピードY v] を ((スピードY) * (0.99)) にする
  もし <[てき1 v] に触れた> なら
    [てき1ヒット v] を送る
  end
  もし <[てき2 v] に触れた> なら
    [てき2ヒット v] を送る
  end
  もし <[てき3 v] に触れた> なら
    [てき3ヒット v] を送る
  end
end
x座標を (0) 、y座標を (-120) にする
[スピードX v] を [0] にする
[スピードY v] を [0] にする
もし <<(てき1HP) < [1]> かつ <<(てき2HP) < [1]> かつ <(てき3HP) < [1]>>> なら
  [ゲームクリア v] を送る
end
もし <<(ライフ) < [1]> かつ <<(てき1HP) > [0]> または <<(てき2HP) > [0]> または <(てき3HP) > [0]>>>> なら
  [ゲームオーバー v] を送る
end
      

ボールのスクリプト6(クリア時):

[ゲームクリア v] を受け取ったとき
[ゲームクリア! v] と (2) 秒言う
すべてを止める
      

ボールのスクリプト7(ゲームオーバー時):

[ゲームオーバー v] を受け取ったとき
[ゲームオーバー... v] と (2) 秒言う
すべてを止める
      

ステージの完成プログラム:

スクリプト1:

@greenFlag が押されたとき
背景を [ゲームステージ v] にする
      

スクリプト2:

[ゲームクリア v] を受け取ったとき
背景を [クリア v] にする
      

スクリプト3:

[ゲームオーバー v] を受け取ったとき
背景を [ゲームオーバー v] にする
      

もっとパワーアップ!

ひっぱりハンティングをもっと面白くする 改造アイデア だよ。自分だけのゲームにしよう!

Lv.1
効果音をつけよう(敵に当たったとき、発射したとき)
Lv.2
敵を動かしてみよう(左右にゆらゆら)
Lv.3
ライフの数を変えて難易度を調整しよう
Lv.4
爆発エフェクト(パーティクル)をつけよう
Lv.5
ステージ2を作ろう(全クリしたら新しい敵が出る)