野球ゲーム


プログラムの中身なかみくわしくみてみよう

野球ゲームのスクリプトについてスプライトごとに解説かいせつします。

概要がいよう

大まかな内容

  • をクリックしてゲームを開始します。
    下向き矢印やじるしキーをすとピッチャーがボールを投げます。
    スペースキーをすとバットが回転します。
    バットでボールをつと守備しゅびモードになり、内野手、外野手がボールをいかけます。
    ボールの状態じょうたいと最初にれたものによって次のようなバッティング結果けっかとなります。

    バッティングの結果けっか表示ひょうじされた後はどれかのキーをすとバッティングモードにもどります。

ボール

主なうご

  • ピッチャーから投球 が送られてきたらピッチャーの位置いちからミットに向かって移動いどうする。
  • バットに当たらずに下のはしまでいったらバッティングモードのまま次の投球が送られてくるまで待つ。
    バットに当たったら守備しゅびモードにうつる。
  • バットに当たったらその時のバットの角度と、ボールの角度から打球がぶ方向を決定する。
  • フライの滞空たいくう時間はランダムに決定する。
  • 背景はいけい守備しゅびになったらまずはフライの状態じょうたいで進み、一度着地した後はゴロで進む。
  • フライの時にスタンド(茶色)にれたらホームラン、 左右のはしれたらファール、フライの落下地点で内野手や外野手にれたらアウト。
    ゴロの時にスタンド(茶色)にれたら2るい打、左右のはしれたらファール、 内野手にれたらアウト、外野手にれたらヒットになります。

がクリックされたとき

  • フライの速さを「4」にします。

背景はいけいがバッティングになったとき

  • 一度、非表示ひひょうじにします。

投球を受け取ったとき

    • 説明せつめい
    • ピッチャーから投球が送られてきたら、 ピッチャーの位置いちから下に向かって移動いどうします。

      バットに当たらずに下のはしまでいったら、バッティングモードのまま次の 投球が送られてくるまで待ちます。

      バットに当たったら守備しゅびモードにうつります。

    • コードの詳細しょうさい
    • 背景はいけいが2(守備しゅびモード)である場合はこのスクリプトを止めて何もしません。
      180度(下)に向けます。
      y座標ざひょうを170(画面上がめんじょう)にします。
      x座標ざひょうをピッチャーのx座標ざひょうと同じ位置いちにします。
      大きさを100%にして表示ひょうじします。
      打ったを0にします。下のはしれるか 打ったが1になるまで(バットに当たるまで) 投球をくり返します。
      投球を1回実行するごとにくり返すと処理しょりおそく、ボールのうごきがおそくなるため、 1回のくり返しの中で投球を10回実行しています。

投球

    • 説明せつめい
    • ミットに向かって進み、バットに当たったらボールの角度とバットの角度から 打った後のボールの角度を決定し、守備しゅびモードにうつります。

    • コードの詳細しょうさい
    • 打ったが1である場合 (すでにバットに当たっている場合)は、このスクリプトを止めて何もしません。

      ミットへ向けて1歩うごかします。

      もしバットにれたを実行して 背景はいけい守備しゅびにします。

    • 説明せつめい
    • 打った後のボールの角度と滞空たいくう時間を決定します。

      打った後のボールの角度はバットに当たる瞬間しゅんかんのボールの角度とバットの角度から決定します。

      滞空たいくう時間はランダムに決定します。滞空たいくう時間のあたいが大きいほど、フライの飛距離ひきょりが長くなります。

    • コードの詳細しょうさい
    • 打ったを1にします。

      ボールの向きを逆向き(180度回転)にします。

      バットの垂線すいせんの角度をバットの向き-90度にします。

      ボールの向きバットの垂線すいせんの角度+( バットの垂線すいせんの角度向き) にします。

      打った後のボールの方向を少し自然にするためにボールの向き を左に10度回転させています。

      滞空たいくう時間を10から45までの乱数らんすうで決定しています。 滞空たいくう時間が長いほどフライの状態じょうたいが長くなります。

    • ボールの向き(170度)を180度回転=-10度

    • バットの垂線すいせんの角度(30度)-ボールの 向き(-10度)=40度

    • バットの垂線すいせんの角度(30度)+40度=ボールの 向き(70度)

    • 70度-10度(左に10度回転)=打った後のボールの 向き(60度)

背景はいけい守備しゅびになったとき

    • 説明せつめい
    • まずはフライの状態じょうたいで進み、一度着地した後はゴロで進みます。

      フライの落下地点で内野手や外野手にれたらアウトです。

      ゴロの時に内野手にれたらアウト、外野手にれたらヒットです。

      フライの時にスタンド(茶色)にれたらホームランです。

      ゴロの時にスタンド(茶色)にれたら2るい打です。左右のはしれたらファールです。

    • コードの詳細しょうさい
    • バッティング結果けっか着地を0にします。

      x座標ざひょうを0、 y座標ざひょうを-160にします。

      大きさを50%にしますフライを実行します。

      フライの中で バッティング結果けっかが出た場合(ホームランもしくはファールになった場合)はこのスクリプトを止めます。

      着地を1にします。

      着地した時点で内野手または 外野手にれたらバッティング結果けっかを2(アウト)にし、 守備完了しゅびかんりょうを送ってこのスクリプトを止めます。

      まだバッティング結果けっかが出ていない場合(0の場合)は ゴロを実行します。

フライ

    • 説明せつめい
    • 打ってから一度地面に落ちるまでのうごきです。

      フライの速さずつ移動いどうします。

      前半は徐々じょじょに大きくなっていき、後半は徐々じょじょに小さくなります(空中に上がってから落ちていきます)。

    • コードの詳細しょうさい
    • 上昇じょうしょう落下速度を3にします (1回のループでわる高さ(ボールの見た目の大きさ)です)。

      以下いかのAの処理しょりを2回くり返します。

    • A :

      滞空たいくう時間の数だけ以下いかのBをくり返します。
      上昇じょうしょう落下速度に-1をかけます(上昇じょうしょうから落下に変更へんこうします)。

    • B :

      フライの速さだけうごかします。
      大きさを上昇じょうしょう落下速度ずつえます。
      もしスタンド(茶色)にれたらバッティング結果けっかを5(ホームラン)にし、 守備完了しゅびかんりょうを送ってこのスクリプトを止めます。
      もしはしれたらバッティング結果けっかを1(ファール)にし、 守備完了しゅびかんりょうを送ってこのスクリプトを止めます。

ゴロ

    • 説明せつめい
    • 一度地面に落ちた後のボールのうごきです。

      内野手、外野手、スタンド、はしのいずれかにれるまで2ずつ移動いどうします。

    • コードの詳細しょうさい
    • 以下いかのAの処理しょりをずっとくり返します。

    • A :

      毎回2歩ずつうごかします。
      内野手、外野手、スタンド、はしのいずれかにれたら、それに応じた バッティング結果けっかにし、 守備完了しゅびかんりょうを送ってこのスクリプトを止めます。
      れたものに対するバッティング結果けっかは次のようにします。

バット

主なうご

  • スペースキーがされたら、180度から左に1度ずつ360回まわし、360度回転する。

背景はいけいがバッティングになったとき

  • x座標ざひょうを-40、 y座標ざひょうを-150にし、 向きを180度に向けて表示ひょうじします。

背景はいけい守備しゅびになったとき

  • 非表示ひひょうじにします。

下向き矢印やじるしキーがされたとき

  • 向きを180度に向けます。

スペースキーがされたとき

  • まず180度に向けてから左に1度回すを15回実行し、それを24回くり返します
    (360度回します)。

ミット

主なうご

  • 画面下方がめんかほうの中央の位置いち表示ひょうじし、ピッチャーから 投球が送られてきたら水平移動すいへいいどうする。

背景はいけいがバッティングになったとき

  • x座標ざひょうを-40、y座標ざひょうを-150にし、 向きを180度に向けて表示ひょうじします。

背景はいけい守備しゅびになったとき

  • 非表示ひひょうじにします。

投球を受け取ったとき

    • 説明せつめい
    • ミットのx座標ざひょうを中央からランダムな位置いちへ1秒間移動いどうさせます。

      ミットが移動いどうすることにより、そこに向かってくるボールの軌道きどうも変化します。

    • コードの詳細しょうさい
    • x座標ざひょうを0、 y座標ざひょうを-126にします。

      移動後いどうごx座標ざひょうを-30~54の範囲はんいでランダムに決定します。

      x座標ざひょうを0から移動後いどうごx座標ざひょうまで1秒で移動いどうさせます。

ピッチャー

主なうご

  • 背景はいけいがバッティングの時のみ表示ひょうじする。
  • 下向き矢印やじるしキーがされたら、中央から水平方向のランダムな位置いち移動いどうしてボールを投げる (投球を送って待つ)。

背景はいけいがバッティングになったとき

  • x座標ざひょうを0、y座標ざひょうを150にして表示ひょうじします。

背景はいけい守備しゅびになったとき

  • 非表示ひひょうじにします。

下向き矢印やじるしキーがされたとき

    • 説明せつめい
    • x座標ざひょうを中央からランダムな位置いちへ「0.5」秒間移動いどうさせてからボールを投げます。

    • コードの詳細しょうさい
    • 移動後いどうごx座標ざひょうを-30~30の範囲はんいでランダムに決定します。

      x座標ざひょうを0から移動後いどうごx座標ざひょうまで0.5秒で移動いどうさせます。

      ボールとミットへ投球を送って待ちます。

内野手

主なうご

  • クローンを4つ作り、ファースト、サード、セカンド、ショートの位置いち配置はいちする。クローンではないオリジナルはピッチャーの位置いち配置はいちする。
  • 打球がフライの間は着地点に向かって移動いどうする。ただし、落下地点までの距離きょりが100より近い場合のみで、それよりも遠い場合は移動いどうしない。
  • 打球がゴロになったらボールに向かって移動いどうします。ただし、ボールまでの距離きょりが150より近い場合のみで、それよりも遠い場合は移動いどうしない。

がクリックされたとき

    • 説明せつめい
    • クローンを4つ作り、ファースト、サード、セカンド、ショートの位置いち配置はいちします。

      クローンではないオリジナルはピッチャーの位置いち配置はいちします。

      最初に配置はいちした位置いち守備位置しゅびいち)を保存ほぞんしており、バッティングモードから守備しゅびモードにうつったさいに、 毎回守備位置しゅびいちもどるようにします。

    • コードの詳細しょうさい
    • 非表示ひひょうじにします。
      x座標ざひょうを100、 y座標ざひょうを-30にします。
      クローンを作ります。(ファースト)
      x座標ざひょうに-1をかけます。
      クローンを作ります。 (サード)
      x座標ざひょうを70、 y座標ざひょうを20にします。
      クローンを作ります。(セカンド)
      x座標ざひょうに-1をかけます。
      クローンを作ります。(ショート)
      x座標ざひょうを0、y座標ざひょうを-60にします。(ピッチャー)
      守備位置しゅびいちxx座標ざひょうにします。
      守備位置しゅびいちyy座標ざひょうにします。

クローンされたとき

  • x座標ざひょうy座標ざひょう守備位置しゅびいちx守備位置しゅびいち保存ほぞんし、 バッティングモードから守備しゅびモードにうつったさいに毎回守備位置しゅびいちもどるようにします。

背景はいけい守備しゅびになったとき

    • 説明せつめい
    • かく内野手をそれぞれの守備位置しゅびいち表示ひょうじし、ボールをいかけます。

    • 必要ひつよう処理しょり
    • 1. それぞれの守備位置しゅびいち表示ひょうじします。
      2. 打球がフライの間は落下地点に向かって移動いどうします。 ただし落下地点までの距離きょりが100より近い場合のみで、それよりも遠い場合は移動いどうしません。
      3. 打球がゴロになったらボールに向かって移動いどうします。 ただしボールまでの距離きょりが150より近い場合のみで、それよりも遠い場合は移動いどうしません。

    • コードの詳細しょうさい
    • x座標ざひょう守備位置しゅびいちxy座標ざひょう守備位置しゅびいちyにして表示ひょうじします。

      (最初に配置はいちした守備位置しゅびいち表示ひょうじします)。

      次にボールをいかける処理しょりのくり返しとなる、以下いかのAを開始します。

    • A :

      着地=0(フライの状態じょうたい)で 落下地点までの距離きょりが100より近い場合は 落下地点へ移動いどうを実行します。
      着地が0以外(ゴロの状態じょうたい)で ボールまでの距離きょりが150より近い場合は ボールをを実行します。
      1回くり返すごとに0.01秒の待機たいき時間を入れます。

落下地点へ移動いどう

    • 説明せつめい
    • フライの落下地点に向かって移動いどうします。

      落下地点に到達とうたつしたら止まり、 コスチュームをキャッチにします。

    • コードの詳細しょうさい
    • 落下地点までの距離きょり が3より近い(2以下いか)の場合はコスチュームを キャッチにします。

      落下地点までの距離きょり が3以上の場合はコスチュームを 移動いどうにし、 向きを落下地点へ向けて1歩うごかします (ボールではなく落下地点に向かいます)。

ボールを

    • 説明せつめい
    • ボールに向かって移動いどうします。

    • コードの詳細しょうさい
    • コスチュームを移動いどうにし、 向きをボールへ向けて1歩うごかします。

守備完了しゅびかんりょうを受け取ったとき

  • コスチュームをキャッチにします。
    スプライトの他のスクリプトを止めます。

背景はいけいがバッティングになったとき

  • スプライトの他のスクリプトを止めて非表示ひひょうじにします。

外野手

主なうご

  • クローンを2つ作り、レフト、ライトの位置いち配置はいちする。 クローンではないオリジナルはセンターの位置いち配置はいちする。
  • 打球がフライの間は着地点に向かって移動いどうする。 ただし落下地点までの距離きょりが100より近い場合のみで、それよりも遠い場合は移動いどうしない。
  • 打球がゴロになったらボールに向かって移動いどうします。 ただしボールまでの距離きょりが150より近い場合のみで、それよりも遠い場合は移動いどうしない。

がクリックされたとき

    • 説明せつめい
    • クローンを2つ作り、ライト、レフトの位置いち配置はいちします。

      クローンではないオリジナルはセンターの位置いち配置はいちします。

      最初に配置はいちした位置いち守備位置しゅびいち)を保存ほぞんしており、 バッティングモードから守備しゅびモードにうつったさいに、毎回守備位置しゅびいちもどるようにします。

    • コードの詳細しょうさい
    • 非表示ひひょうじにします。
      x座標ざひょうを140、 y座標ざひょうを80にします。
      クローンを作ります。(ライト)
      x座標ざひょうに-1をかけます。
      クローンを作ります。(レフト)
      x座標ざひょうを0、 y座標ざひょうを120にします。(センター)
      守備位置しゅびいちxx座標ざひょうにします。
      守備位置しゅびいちyy座標ざひょうにします。

クローンされたとき

  • x座標ざひょうy座標ざひょう守備位置しゅびいちx守備位置しゅびいちy保存ほぞんし、 バッティングモードから守備しゅびモードにうつったさいに毎回守備位置しゅびいちもどるようにします。

背景はいけい守備しゅびになったとき

    • 説明せつめい
    • かく外野手をそれぞれの守備位置しゅびいち表示ひょうじし、ボールをいかけます。

    • 必要ひつよう処理しょり
    • 1.それぞれの守備位置しゅびいち表示ひょうじします。
      2.打球がフライの間は落下地点に向かって移動いどうします。 ただし落下地点までの距離きょりが100より近い場合のみで、それよりも遠い場合は移動いどうしません。
      3.打球がゴロになったらボールに向かって移動いどうします。 ただしボールまでの距離きょりが150より近い場合のみで、それよりも遠い場合は移動いどうしません。

    • コードの詳細しょうさい
    • x座標ざひょう守備位置しゅびいちxy座標ざひょう守備位置しゅびいちyにして表示ひょうじします。

      (最初に配置はいちした守備位置しゅびいち表示ひょうじします)。

      次にボールをいかける処理しょりのくり返しAを開始します。

    • A :

      着地=0(フライの状態じょうたい)で 落下地点までの距離きょりが100より近い場合は 落下地点へ移動いどうを実行します。
      着地が0以外(ゴロの状態じょうたい)で ボールまでの距離きょりが150より近い場合は ボールをを実行します。
      1回くり返すごとに0.01秒の待機たいき時間を入れます。

落下地点へ移動いどう

    • 説明せつめい
    • フライの落下地点に向かって移動いどうします。

      落下地点に到達とうたつしたら止まり、 コスチュームをキャッチにします。

    • コードの詳細しょうさい
    • 落下地点までの距離きょりが 3より近い(2以下いか)の場合はコスチュームを キャッチにします。

      落下地点までの距離きょりが 3以上の場合はコスチュームを 移動いどうにし、 向きを落下地点へ向けて1歩うごかします(ボールではなく落下地点に向かいます)。

ボールを

    • 説明せつめい
    • ボールに向かって移動いどうします。

    • コードの詳細しょうさい
    • コスチュームを移動いどうにし、 向きをボールへ向けて1歩うごかします。

守備完了しゅびかんりょうを受け取ったとき

  • コスチュームをキャッチにします。
    スプライトの他のスクリプトを止めます。

背景はいけいがバッティングになったとき

  • スプライトの他のスクリプトを止めて非表示ひひょうじにします。

落下地点

ボールが落ちる場所に配置はいちします。ボールがフライの状態じょうたいの間、 野手はボールではなくこの落下点に向かって移動いどうするようにします。

主なうご

  • 打った場所からボールと同じ方向にフライの速さ×滞空たいくう時間×2歩だけうごかす (フライの落下地点に移動いどうする)。
  • 常に非表示ひひょうじにする。

背景はいけいがバッティングになったとき

  • 非表示ひひょうじにします。

背景はいけい守備しゅびになったとき

  • 非表示ひひょうじにします。
    x座標ざひょうを0、 y座標ざひょうを-160にします。
    向きをボールと同じ向きにします。
    フライの速さ× 滞空たいくう時間×2歩うごかします(フライの落下地点に移動いどうします)。

結果けっか

主なうご

  • ボールから守備完了しゅびかんりょうが送られてきたら バッティング結果けっか対応たいおうしたコスチュームで表示ひょうじする。
  • どれかのキーがされるまで表示ひょうじし、キーがされたら非表示ひひょうじにして背景はいけいバッティングにする。

背景はいけいがバッティングになったとき

  • 非表示ひひょうじにします。

背景はいけい守備しゅびになったとき

  • 非表示ひひょうじにします。

守備完了しゅびかんりょうを受け取ったとき

  • x座標ざひょうを0、 y座標ざひょうを-120にします。
    コスチュームをバッティング結果けっかに 合わせて変更へんこうして表示ひょうじします。
    どれかのキーがされるまで結果けっか表示ひょうじしたまま待ちます。
    キーがされたら非表示ひひょうじにして背景はいけいバッティングにします。
^