転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

【Unity】UI上のボタンでオブジェクトを操作する方法

1.UI / Buttonオブジェクトを作成する。
2.作成したButtonオブジェクトに、Event Triggerコンポーネントをセットする。
f:id:uuc1h:20190106214254p:plain
3.スクリプトは下記の通り。

public class Controller : MonoBehaviour {

    // 移動速度
    public float moveSpeed = 3.0f;

    // 変数用移動速度
    private float fMoveSpeed;

    // 移動方向定義
    public enum MOVE_DIR
    {
        STOP,
        LEFT,
        RIGHT,
    };

    // 移動方向
    private MOVE_DIR moveDirection = MOVE_DIR.STOP;

    // Rigidbodyコンポーネント
    private Rigidbody rb;

	// Use this for initialization
	void Start () {

        // 自オブジェクトのRigidbodyコンポーネント取得
        rb = GetComponent<Rigidbody>();

	}
	
	// Update is called once per frame
	void Update () {
		
        switch(moveDirection)
        {

            case MOVE_DIR.STOP:
                fMoveSpeed = 0;
                break;
            case MOVE_DIR.LEFT:
                fMoveSpeed = moveSpeed * -1;
                break;
            case MOVE_DIR.RIGHT:
                fMoveSpeed = moveSpeed;
                break;
        }

        rb.velocity = new Vector3(fMoveSpeed, rb.velocity.y, rb.velocity.z);
	}

    public void PushLeftButton()
    {
        moveDirection = MOVE_DIR.LEFT;
    }

    public void PushRightButton()
    {
        moveDirection = MOVE_DIR.RIGHT;
    }

    public void ReleaseButton()
    {
        moveDirection = MOVE_DIR.STOP;
    }
}