画面をタップするたびにボールを飛ばすようにする【Unity】

前回、的当てゲームのボールを飛ばすスクリプトを作成しました。

次のステップとして、まずはボールのプレハブ作りから始めたいと思います。

プレハブを作った後は、ボールを連続で飛ばせるようにします。

スポンサーリンク

ボールのプレハブを作成し、タップするたびにボールが飛ぶようにする

ゲームが盛り上がるため画面をタップするたびにボールが飛ぶようにしたいですね。

まずは、ボールを大量生成できるように、プレハブを作ります。

ヒエラルキーウィンドウの「Cube」を「Ball」に名前を変えて、プロジェクトウィンドウにドラッグ&ドロップし、作成されたプレハブの名前を「BallPrefab」にしておきます。

プレハブが出来たら、ヒエラルキーウィンドウのCubeは不要なので消しておきます。

ボールを生成するスクリプトを作る

画面をタップするたびにボールが生成されるスクリプト作りですね。

C# Scriptからスクリプトを作成し、名前を「BallGene」にします。

ボールを生成するスクリプト

何をやっているのかというと、まずは7行目でプレハブを入れる変数を宣言します。

public宣言しているのは、実体を代入できるようにするためですね。

17行目で、画面がタップされたかどうかチェックして、タップされたらボールのインスタンスを作成します。

ボールを作成したら、飛ばす方向を指定します。

ここで、前回作ったスクリプトのThrowメソッドの引数に、ボールを飛ばしたい方向のベクトルを渡すようにします。これには、GetComponentメソッドを使ってベクトルを指定します。

尚、前回作ったスクリプトのスタートメソッド内に書いたThrowメソッドの呼び出しは不要になったのでコメントアウトしておきます。

空のオブジェクトを作りスクリプトをアタッチする

ヒエラルキーウィンドウの「Create」→「Create Empty」を選択し、空のオブジェクトを作成します。名前は「BallGene」に変更します。

プロジェクトウィンドウにある「BallGene」スクリプトをヒエラルキーウィンドウの「BallGene」オブジェクトにドラッグ&ドロップします。

オブジェクトの実体を代入する

オブジェクトの実体を代入するために、アウトレット接続を使いましょう。

先ほど作成したスクリプトで、既にpublicを付けているので、あとはインスペクターにドラッグ&ドロップするだけで良いですね。

ヒエラルキーウィンドウの「BallGene」オブジェクトを選択した状態で、インスペクターの「Ball Gene(Script)」内にあるBall Prefabにボールのプレハブをドラッグ&ドロップします。

オブジェクトの実体を代入する

ここまで出来たら、ゲームを実行して動作を確認してみましょう。

タッチ及びクリックするたびにボールが飛ぶようになっているはずです。

タップするたびにボールが連続で飛ぶアニメーション

こんな感じですね~。

このままだと、同じ場所からしかボールを飛ばせないのでゲーム性に欠けます。

次回は、タップした場所にボールを飛ばせるようにします。