ファイブボックス一分間スクラッチ講座アイキャッチ画像
ファイブボックス一分間スクラッチ講座アイキャッチ画像

一分間スクラッチ講座 やまなりのボールを投げる方法 およびクリックした場所に向けてボールを投げる方法 - ファイブボックス

一分間スクラッチ講座 やまなりのボールを投げる方法 およびクリックした場所に向けてボールを投げる方法

このブログテーマでは、スクラッチの初心者から上級者まで、ちょっとお役に立つ情報を不定期で紹介していきます。
スクラッチ講座、投稿記事のまとめはこちら(一分間スクラッチ講座 まとめ)でご参照ください。

今回は山なりのボールを投げる方法についてご説明します。スポーツ系の作品やシューティングゲームなどにも活用できそうですね。

下の動画は不定期配信の「ファイブボックス一分間スクラッチ講座」です。ご興味のある方は併せてご参照ください。

ピッチャーの作成

画像ライブラリから「Pitcher」(ピッチャー)を選択します。

画像ライブラリからビッチャーを選択

取得したピッチャーは左下(x:160,y:-90 ぐらい)に配置しておきます。

ピッチャーにはスペースキーが押されたときに、投球モーションを作成します。

「スペースキー」が押されたとき

  1. コスチュームを「pitcher-a(1番目のコスチューム)」にする
  2. 以下の処理を3回繰り返す
    1. 0.1秒待つ
    2. 次のコスチュームにする
  3. メッセージ「投げる」を送る
ピッチャーのスクリプト

ボールの作成

画像ライブラリから「Baseball」を取得し、大きさを30程度にしておきます

ライブラリからベースボールを追加

事前に変数:重力 を作っておきます。「重力」はボールにかかる下向きの力になります。今後の展開も考え「このスプライトのみ」にチェックを入れ、ボール1つ1つがそれぞれの重力を持てるようにしておきます。

ボールの動きは次のようになります。

旗が押されたとき

  1. 最初は隠しておきます

メッセージ「投げる」をうけとったとき

  1. 重力を 5 にする(斜め上方向にボールを投げます)
  2. 「ピッチャー」へ行く(ビッチャーから球が飛んでいくようにします)
  3. y座標を80ずつかえる(ピッチャーの手元から球が出るように座標の補正)
  4. 表示する
  5. 端に着くまで弾の移動処理を実行
    1. x座標を20ずつかえる(20は移動量、大きいほど球が速くなります)
    2. y座標を変数:重力ずつかえる(下向きの力を加える)
    3. 変数:重力を-0.5ずつかえる(徐々に落下速度を大きくする)
  6. 端に着いたら隠す
ボールのスクリプト

これでスペースキーを押したタイミングで、ピッチャーからボールが飛んでいく動きができました。

クリックした場所に向けてボールを投げる方法

後続するショート動画では「ファイブボックス一分間スクラッチ講座 クリックした場所にボールを投げる方法」の説明を行っています。

基本的な動きは、上で作成したピッチャー、およびボールの動きと似ていますので、これを改造します。

ピッチャーの動き

クリックされたときというハットブロックがないので、旗が押された後、ずっと繰り返しの内部で、マウスのクリックを監視します。

クリックされた後の動きは、作成済みのスペースキーが押されたときの動きと同じです。

旗が押されたとき

  1. ずっと以下の処理を繰り返し
    1. もしマウスが押されたら(クリックされたら)
      1. コスチュームを「pitcher-a(1番目のコスチューム)」にする
      2. 以下の処理を3回繰り返す
        1. 0.1秒待つ
        2. 次のコスチュームにする
      3. メッセージ「投げる」を送る

ボールの動き

ボールの動きも作成済みのプログラムとほぼ同じです。

旗が押されたとき

  1. 最初は隠しておきます(同じ)

メッセージ「投げる」をうけとったとき

  1. 重力を 5 にする(斜め上方向にボールを投げます)
  2. 「ピッチャー」へ行く(ビッチャーから球が飛んでいくようにします)
  3. y座標を80ずつかえる(ピッチャーの手元から球が出るように座標の補正)
  4. 「マウスのポインター」へ向ける
  5. 表示する
  6. 端に着くまで弾の移動処理を実行
    1. 20歩動かす:直前でマウスポインターの方向を向いたのでその方向に向け移動
    2. y座標を変数:重力ずつかえる(下向きの力を加える)
    3. 変数:重力を-0.5ずつかえる(徐々に落下速度を大きくする)
  7. 端に着いたら隠す

これでクリックした座標にめがけて、球が飛んでいくようになりました。 重力はそのまま働いているので、クリックした場所より若干下の方を通過するかもしれません。

ファイブボックスでは、スクラッチやUnityの個別指導のオンラインレッスンを行っています。

ご興味のある方は当サイト、オンラインレッスンから、無料体験授業へお問い合わせ下さい。

TOP