SCRATCHをやってみた!41(不具合を直す:ジャンプの途中で終わったらおかしくなる)

前回、ゲームが繰り返しできるようにして、区切りをつけるようにしました。

さて、ゲームを繰り返しにすると、おかしなことがありました。
ジャンプをしている最中にゲームが終わってしまうと、猫が台の上に降りてこないで空中に浮かんでしまい、次のゲームの時には、その空中の位置から始まってしまいます。

今回は、このおかしな状態を直していきましょう。

おかしな状態(不具合)をどのようにして直すか

今回の”おかしな状態(不具合)”は、ジャンプの途中で制限時間が来たために台の上に戻らないことが原因です。
では、どのようにして直すか方法を考えてみましょう。
考えてみると次の方法を思いつきました。
  (a)ジャンプを最後までやり終える。
  (b)ゲーム開始の時に猫の位置を台の上にする。
  (c)ゲーム終了の時に猫の位置を台の上にする。
最初の(a)の方法ですと、制限時間を越えたときに動きを止めるようにしているのを、ジャンプだけは最後までさせて他の動きは止めるということをしなければなりません。つまり、今の動きを止めるという方法を見直さなければなりません。
(b)の方法ですと、ゲームを始めるときに位置を直せばよく、他のところは変えなくていいので、修正は簡単です。
(c)の方法では、ゲームが終わったときに位置を直せばよく、他のところは変えなくていいので、この方法も修正は簡単です。

(b)の方法でも(c)の方法でもゲームを始めるときに猫は台の上にいるので、後は作る人がどちらにするか決めるだけです。
今回は、(c)の『ゲーム終了の時に猫の位置を台の上にする』方法にしてみましょう。

では実際に修正していきます。

前準備

(1)前回まで作成したスクリプトやスプライトを保存したファイルをダブルクリックして開きます。

(2)「スプライト1」になっていることを確認します。

(3)「スクリプト」になっていることを確認します。

(4)「動き」になっていることを確認します。

『ゲーム終了』の処理を修正する

(5)右のウインドウにある「[ゲーム終了▼]を受け取ったとき」のスクリプトがあるところが見えるようにスクロールします。

(6)「y座標を[0]にする」をドラッグして、右のウインドウにある「[ゲーム終了▼]を受け取ったとき」の下の「[スプライトの他のスクリプト▼]を止める」の下に持って行って、「[スプライトの他のスクリプト▼]を止める」の下の枠が白くなったら、ドロップしてくっつけます。

(7)「y座標を[0]にする」が、「[スプライトの他のスクリプト▼]を止める」と「[すべて▼]番目を[セリフのリスト▼]から削除する」の間に入ったことを確認します。

(8)「y座標を[0]にする」の”0″を”-16″に修正します。
※台の位置にいるときの猫のy座標を事前に確認しておいてください。その値を入れます。

ここまでの内容を保存しておきましょう。

保存する

(9)「ファイル」をクリックして、「名前をつけて保存」をクリックして、適切なファイル名を付けて「OK」ボタンをクリックします。
  (今回は”10歩歩く、跳ね返る、背景、最初に回転は左右、コウモリ追加と動き、同時開始、猫鳴く、BGM、コウモリ小さく、セリフを言う、ちょっと待つ、位置調査、猫とぶ3、ぶつかったら鳴き点つく2、制限時間2、説明4、変数非表示、ゲームを繰り返す3.sb2″としました。)

さて、”旗”をクリックして動かしてみましょう。
そして終了間際にジャンプさせてみてください。
どうでしょうか。
うまく着地してセリフを言ったでしょうか。

今回はここまで。
次回をお楽しみに。

☆前回はSCRATCHをやってみた!40でした。
☆次回はSCRATCHをやってみた!42です。

タイトルとURLをコピーしました