UIオブジェクトのスライダーを使い、オブジェクトのサイズを調整してみましょう。
Sliderでは、最小値と最大値の間を移動させて、値を取得することができます。
関連記事:
スライダーでPrefabのサイズを変える
条件によってPrefabのサイズを変える
ボタンによる5段階の拡大縮小
キー操作でオブジェクトのサイズを変える
Sliderをキー操作で動かす
スライダーでボリュームを変える
Slideの用意
UIからSliderを作成します。
Sliderを中央下に配置しました。
インスペクターのSliderで、最小値(MinValue)と最大値(MaxValue)を設定できます。
ここでは、MinValueを1に、MaxValueを2にしました。
これで等倍から2倍の大きさまで拡縮させることができます。
続いて、Cubeを作成しましょう。
マテリアルカラーをつけて、サイズや位置はそのままにしています。
ゲームビューを見てみると、SliderとCubeはこのように配置されています。
Slideの値を取得するスクリプト
空のオブジェクトを作成します。
CubeScale.csを作成し、GameObject(空のオブジェクト)に追加しましょう。
CubeScale.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class CubeScale : MonoBehaviour { public Slider slider; void Start() { slider = GameObject.Find("Slider").GetComponent<Slider>(); } public void ScaleAdjust() { GameObject obj = GameObject.Find("Cube"); float scale = slider.value; obj.transform.localScale = new Vector3(scale, scale, scale); } } |
UIを扱う場合、using UnityEngine.UI; を忘れずに記述しましょう。
Sliderのインスペクターを、以下のような手順で設定します。
① +マークをクリック
② GameObjectをドラッグ&ドロップ
③ CubeScale > ScaleAdjust() を選択
Sliderから、CubeScale.csのScaleAdjustメソッドを呼び出します。
ゲームプレイして、動きをみましょう。
最大2倍の大きさまで、拡大調整できています。
関連記事:
スライダーでPrefabのサイズを変える
条件によってPrefabのサイズを変える
ボタンによる5段階の拡大縮小
キー操作でオブジェクトのサイズを変える
Sliderをキー操作で動かす
スライダーでボリュームを変える