Unity事例ノート

UNITY

マウスを押した時間だけオブジェクトを拡大

マウスを長押しした分だけ、プレハブのサイズが拡大するようにプログラミングしてみましょう。

ゲーム画面上で、左クリックを押すとボールを発射。

押す時間が長ければ長いほど、ボールが大きくなります。

マウスの押下時間をパワーに変換する場合、パワーゲージの記事をご参照ください。

関連記事:
【Unity C#】パワーゲージ(レベルゲージ)をつくる
【Unity C#】ドラッグの距離をパワー数値に変換する





Prefabの準備

Sphereオブジェクトを新規作成して、色をつけました。

Sphereにリジッドボディを追加します。

Sphereをプレハブ化しましょう。

プロジェクトビューにPrefabフォルダを作成。

この中に、Sphereオブジェクトをドラッグ&ドロップします。

Sphereの元データは削除しておきます。

Prefabの生成とサイズ変更

続いて、空のオブジェクトを作成します。

BallShot.csを作成して、GameObject(空のオブジェクト)に追加しましょう。

BallShot.csを記述します。

プレハブのフィールドが出来ていますので、ここに、Sphereのプレハブを入れます。

ゲームプレイしてみましょう。

左クリックでボール発射。

マウスを長押しした分だけ、最大5までボールが大きくなっていきます。

Input.GetMouseButton ・・・ マウスを押下している間、powerが0.01ずつ増加します。

Input.GetMouseButtonUp ・・・ マウスを離したタイミングで、Prefabを生成して前方へ力を加えます。

生成したプレハブのサイズ(localScale)は、powerで取得した数値にしています。

関連記事:
【Unity C#】パワーゲージ(レベルゲージ)をつくる
【Unity C#】ドラッグの距離をパワー数値に変換する