View on GitHub

lectures

Unity (2)

unity/Home


カメラの位置と向きの調節

fig_04.svg.png

仮想ジョイスティック

fig_05.png

fig_05_02.png

fig_06.svg.png

fig_06_02.png

fig_06_03.png

fig_06_04.png

fig_07.svg.png

fig_08.svg.png

fig_09.svg.png

fig_10.png

fig_11.png

C#スクリプトを書く

fig_12.png

fig_13.png

fig_14.png

    private GUIStyle labelStyle;
    private float joyStickH, joyStickV;
    public Joystick joyStick;
    void Start()
    {
        this.labelStyle = new GUIStyle();
        this.labelStyle.fontSize = Screen.height / 22;
        this.labelStyle.normal.textColor = Color.blue;
        joyStickH = 0;
        joyStickV = 0;
        if (this.joyStick == null)
        {
            Debug.Log("this.joyStick is null");
        }
    }
    void Update()
    {
        joyStickH = joyStick.Horizontal;
        joyStickV = joyStick.Vertical;
        float lin = joyStickV * 3 * Time.deltaTime;
        float ang = joyStickH * 60 * Time.deltaTime;
        transform.Rotate(0, ang, 0);
        transform.Translate(Vector3.forward * lin);
    }
    void OnGUI()
    {
        float x = Screen.width / 10;
        float y = 0;
        float w = Screen.width * 8 / 10;
        float h = Screen.height / 20;
        for (int i = 0; i < 5; i++)
        {
            y = Screen.height / 10 + h * i;
            string text = string.Empty;
            switch (i)
            {
                case 0://X
                    text = string.Format("transform-X:{0}", System.Math.Round(transform.position.x, 3));
                    break;
                case 1://Y
                    text = string.Format("transform-Y:{0}", System.Math.Round(transform.position.y, 3));
                    break;
                case 2://Z
                    text = string.Format("transform-Z:{0}", System.Math.Round(transform.position.z, 3));
                    break;
                case 3://JoyStick H
                    text = string.Format("joyStick-H:{0}", System.Math.Round(joyStickH, 3));
                    break;
                case 4://JoyStick V
                    text = string.Format("joyStick-V:{0}", System.Math.Round(joyStickV, 3));
                    break;
                default:
                    throw new System.InvalidOperationException();
            }
            GUI.Label(new Rect(x, y, w, h), text, this.labelStyle);
        }
    }

fig_15.svg.png

fig_16.png


unity/Home