앱 만들기/게임

유니티 비행기 4방향 움직이기 마우스 or 터치로

나도 처음이야 2019. 7. 30.

 

마우스로 움직이는 비행기

 

 Transform tr; // 비행기의 현재 x,y 좌표점
 private Vector3 initMousePos; 

 

// Start is called before the first frame update
    void Start()
    {
        tr = GetComponent();        
    }

 


    // Update is called once per frame
    void Update()
    {
        // 마우스 클릭 및 터치했을때
        if (Input.GetMouseButtonDown(0))
        {
            initMousePos = Input.mousePosition;
            initMousePos.z = 10;
            initMousePos = Camera.main.ScreenToWorldPoint(initMousePos);
                       
        }
        // 마우스 드래그시
        if (Input.GetMouseButton(0))
        {
            Vector3 movedPoint = Input.mousePosition;
            movedPoint.z = 10;
            movedPoint = Camera.main.ScreenToWorldPoint(movedPoint);

            Vector3 differencePos = movedPoint - initMousePos;
            differencePos.z = 0;
           
            initMousePos = Input.mousePosition;
            initMousePos.z = 10;
            initMousePos = Camera.main.ScreenToWorldPoint(initMousePos);

            tr.transform.position =
                new Vector3( Mathf.Clamp(tr.transform.position.x + differencePos.x, -3.5f, 3.5f),
                Mathf.Clamp(tr.transform.position.y + differencePos.y, -4.5f, 4.5f),
                tr.transform.position.z );
        }
 
    }//update()

반응형

댓글