ネコとハードルを動かそう

 ハードル越えゲームではネコとハードルという2つのスプライトを連動させて動作させます。ところが、スクリプトはそれぞれのスプライトに対して記述します。複数のスクリプトを連動させるために、Scratchではメッセージを交換するオブジェクト指向を採用しています。

 あるスクリプトがゲーム開始となる「右向き矢印」キーが押されたのを検知し、他のスクリプトに「スタート」というメッセージを発信します。連動するスクリプトは「スタート」というメッセージを受け取ったら、それぞれ動作を開始します。

ネコの位置を初期化する

 メッセージ交換の前に、ネコとハードルの位置を所定の場所に戻してからゲームを開始しましょう。Scratchではマウス操作でネコやハードルを自由な位置に動かすことができます。そのままゲームを開始すると絶対にネコがハードルに当たらない位置関係になることもあるので、ネコは画面中央、ハードルは横が右端、高さが中央に強制的に移動します。これを「初期化」といいます。

 ネコの初期化を行うスクリプトを書きます。

  • [イベント]カテゴリから「スペースキーが押されたとき」をドラッグします。
    • 「スペースキー」右側にある三角形をクリックし、プルダウンメニューを開きます プルダウンメニューから「左向き矢印」を選択します。
    • [見た目]タブを開き、「表示する」をドラッグします。
    • [動き]タブを開き、「X座標を(0)、Y座標を(0)にするをドラッグします。

     これでネコの初期化スクリプトが完成しました。マウスでネコを任意の場所に移動させておき、スクリプトブロックをクリックするか、左向き矢印キーを押してください。ネコが画面中央、X座標0、Y座標0の場所に戻ります。

    ハードルの位置を初期化する

     次にハードルの位置を初期化するスクリプトを作ります。

     スプライトエリアの「スプライト2」、ハードルの絵をクリックします。

    • [イベント]カテゴリから「スペースキーが押されたとき」をドラッグします。
    • 「スペース」の右側三角形をクリックし、プルダウンメニューを表示します。
    • 「左向き矢印」を選択します。
    • [動き]カテゴリから「x座標を0、y座標を0にする」をドラッグします。
    • x座標の「0」を「240」に書き換えます。

     ハードルを任意の場所に移動して、このスクリプトブロックをクリックすると、x座標が240、y座標が0の初期状態に戻ります。

 実際に操作している映像です。