スライダーを動かすとパラメータが変わって図形が変化する。
・スライダーの使い方がぼやっとわかった
ヒエラルキー→Create→UI→Slider。
Canvasとスライダー、EventSystemが作られる。
値を取得する例:
スライダーを作る、Main CameraにCamera.csを付ける。
Camera.csの中にpublic void hoge(float value)を作る。
スライダーのインスペクタの下、On Value Changed(Single)の+をクリック。
Main Cameraを設定、関数はCameraの中のhogeを選択。
後はスライダーの値が変わればhogeが呼ばれる。
Main.cs
using UnityEngine; using System.Collections; public class Main : MonoBehaviour { public GameObject go; int sizePosition = 3601; GameObject li; float dpi; float dpih; LineRenderer lr; //スライダー関係 float v1 = 1; float v2 = 1; float v3 = 1; float v4 = 0.5f; // Use this for initialization void Start () { li = Instantiate(go); lr = li.GetComponent<LineRenderer>(); lr.enabled = true; lr.SetVertexCount(sizePosition); dpi = Mathf.PI / 180.0f; poss(); } // Update is called once per frame void Update () { poss(); } void poss() { for (int i = 0; i < sizePosition; i++) { float px = 50*v3 * Mathf.Sin(i * v1 * dpi);// *Mathf.Cos(i * v1 * dpi); float pz = 50*v3 * Mathf.Cos(i*v2 * dpi);// *Mathf.Sin(i * v2 * dpi); float py = 100*v4;// 0.01f * i; lr.SetPosition(i, new Vector3(px, py, pz)); } } public void getSlider1Value(float v) { v1 = v; } public void getSlider2Value(float v) { v2 = v; } public void getSlider3Value(float v) { v3 = v; } public void getSlider4Value(float v) { v4 = v; } }
CameraMove.cs
using UnityEngine; using System.Collections; public class CameraMove : MonoBehaviour { float moveValue = 0.1f; // Use this for initialization void Start () { } // Update is called once per frame void Update () { this.transform.Rotate(0, moveValue, 0); } }